본문 바로가기
Python/알고리즘

[COS PRO 1급 #1-4] 타임머신

by 포푸리 (POPOOLY) 2023. 2. 13.
반응형

문제설명

어느 누군가가 타임머신을 타고 과거로 가서 숫자 0이 없는 수 체계를 전파했습니다. 역사가 바뀌어 이제 사람들의 의식 속엔 0이란 숫자가 사라졌습니다. 따라서, 현재의 수 체계는 1, 2, 3, ..., 8, 9, 11, 12, ...와 같이 0이 없게 바뀌었습니다.

0을 포함하지 않은 자연수 num이 매개변수로 주어질 때, 이 수에 1을 더한 수를 return 하도록 solution 함수를 완성해주세요.

매개변수 설명

자연수 num이 solution 함수의 매개변수로 주어집니다.
* num은 1 이상 999,999,999,999,999,999 이하의 0을 포함하지 않는 자연수입니다.

return 값 설명

자연수 num에 1을 더한 수를 return 해주세요.

예시

| num     | return |
|---------|---------|
| 9949999 | 9951111 |

예시 설명

9,949,999에 1을 더하면 9,950,000이지만 0은 존재하지 않으므로 9,951,111이 됩니다.

문제 코드

def solution(num):
    # Write code here.
    answer = 0
    return answer

풀이 1

def solution(num):
	answer = ""
	num = str(num+1)
    
	# 1을 더한 값에 0이 있으면 1로 대체
	for i in num:
		if i == "0":
			answer += "1"
		else:
			answer += i
            
	return int(answer)

풀이 2

def solution(num):
    num += 1
    digit = 1
    
    # 1을 더한값에 0이 있으면 1로 대체
    while num // digit % 10 == 0:
        num += digit
        digit *= 10
    return num

댓글