코딩테스트/Codility
[codility] 합이 같은 수
꼬몽울
2021. 7. 22. 23:09
1~50000사이의 임의의 숫자 N이 주어진다.
N이 주어지면 이 숫자보다 큰 숫자중에 각 자리수 합이 일치하는 숫자를 찾는 문제
Ex) 123이 주어졌을때 각 자리 숫자의 합은 1+2+3=6이다
123보다 크면서 각 자리 숫자가 6이되는 첫 숫자는 132이다.
나는 이걸 map을 써서 풀었다. 숫자는 리스트로 저장할 때 각 자리 숫자로 저장이 안되기 떄문이다.
참고로 map함수는 '리스트'의요소를 지정된 함수로 저장해주는 함수이다.
n=123
comp=sum(list(map(int,str(n))))
while n<50000:
n+=1
re=list(map(int,str(n)))
if sum(re)==comp:
answer=n
break
answer
아... 다시 복기하면서 풀어보니 n이 true로 줬었다...아닌가? n이 1에서 5만이면 리턴값은 상관이 없나? 그런가부다.
영어문제는 해석이 안되면 이렇게된다...