문제링크: 숫자의 표현
✍🏻 Information
| content | |
|---|---|
| 언어 | python |
| 난이도 | ⭐️⭐️⭐️ |
| 풀이시간 | 40분 |
| 제출횟수 | ∞ |
| 인터넷검색유무 | no |
🍒 My Code
def solution(n):
answer = 0
final = 0
for i in range(n):
if i*(i+1)/2>=n:
final = i
if i*(i+1)/2==n:
answer+=1
break
for i in range(2, final):
for j in range(1,n//2+1):
if sum(range(j,j+i))>=n:
if sum(range(j,j+i))==n:
answer+=1
break
return answer+1 #자기자신
def solution(n):
answer = 0
for i in range(2,n):
if sum(range(1,i+1))>n:
break
if (n-sum(range(1,i+1)))%i==0:
answer+=1
return answer+1
💡 What I learned
return len([i for i in range(1,num+1,2) if num % i is 0])
ㄴ> 맞는 풀이인건지 모르겠다
def expressions(num):
answer = 0
for i in range(1, num+1):
summ = 0
while (summ < num):
summ += i
i += 1
if summ == num:
answer += 1
return answer
ㄴ> 일일히 계산한 코드지만 내가 처음 작성한 코드보다 시간 효율면에서 좋다