Skip to content

Latest commit

 

History

History
58 lines (44 loc) · 1.65 KB

week3_20200112_605_tess.md

File metadata and controls

58 lines (44 loc) · 1.65 KB

121. Best Time to Buy and Sell Stock

출제자: 테쓰

Link

  • 출제 이유
    • 조건을 잘 줘야하는 문제로 골랐다.

Stella

class Solution(object):
    def canPlaceFlowers(self, flowerbed, n):
        count=0
        fl=len(flowerbed)
        for i in range(fl):
            if flowerbed[i]==1 or (i+1< fl and flowerbed[i+1]==1) or (i-1>=0 and flowerbed[i-1]==1):
                continue
            flowerbed[i]+=1
            count+=1
        
        if count>=n:
            return True
        else:
            return False
  • 간단하다고 생각했는데, 조건을 쓰자니 많이 헷갈렸다. 테쓰가 소개해준 [0] + flowerbed + [0] 이 방법으로 조건문을 훨씬 간단하게 쓸 수 있을 것 같다.

Kevin

  • 풀진 않았지만 ㅋㅋㅋㅋ 오 저거 [0] + flowerbed + [0]하는 꼼수 아주 잘 배웠다. 고마워!

Tess

class Solution(object):
    def canPlaceFlowers(self, flowerbed, n):
        if n == 0: return True
        flowerbed = [0]+flowerbed+[0]
        for idx in range(1, len(flowerbed)-1):
            if flowerbed[idx] == 0 and flowerbed[idx-1] == 0 and flowerbed[idx+1] == 0:
                flowerbed[idx] = 1
                n -= 1
            if n == 0:
                return True
        return False
  • 문제를 풀다보면 arr를 풀기 편한대로 바꿀 수 있다는걸 까먹고는 하는데, 이를 상기시켜준 문제였다.
  • 주어진 arr를 바꿔서 하니 조건을 주기가 훨씬 쉬워졌다 !