프로그래머스 연습문제 - 숫자의표현 (level2)
def solution(n):
half = n//2 if n%2 == 0 else n//2 +1
count = 0
for i in range(1,half):
s = 0
for j in range(i,half+1):
s +=j
if s ==n:
count+=1
break
elif s > n:
break
return count+1
이번주 최초로 혼자 풀어서 100점을 맞을 수 없었던 문제!
(추가) 사실 이 코드는 100점이 나오는 풀이방법이였다. 정답중에 나랑 거의 똑같은 코드가 있어서 어랏? 하면서 위의 코드를 그대로 복붙했는데 100점이 나왔다.
나는 그동안 무엇을 한 거지?? 황당하면서도 내가 그래도 잘 풀었구나 싶은 안도가 든다.
구글링을 통해 다른 방법을 찾아보았다.
[condition] ? [true_value] : [false_value]
파이썬에서 위 형태를 지원하지 않고 아래 형태를 지원한다.
[true_value] if [condition] else [false_value]
2중포문에서 break는 하나의 for문에서 빠져나온다.