작은하마

[codility] 합이 같은 수 본문

코딩테스트/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만이면 리턴값은 상관이 없나? 그런가부다.

영어문제는 해석이 안되면 이렇게된다...

 

'코딩테스트 > Codility' 카테고리의 다른 글

[Codility] odd occurrences in array  (0) 2021.07.23
[codility]디버깅문제  (0) 2021.07.22
[Codility] CyclicRotation  (0) 2021.07.21
[codility] longest_password  (0) 2021.07.20
[codility] BinaryGap  (0) 2021.07.20
Comments