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

[COS PRO 1급 #4-5] 규칙에 맞는 숫자 생성

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

문제설명

다음과 같이 새로운 숫자를 생성할 때, n번째 생성할 숫자를 구하려고 합니다.

```
1. 첫 번째 수는 1입니다.
2. 다음수를 1의 자리에 추가합니다.
3. 만든 숫자를 뒤집습니다.
4. 숫자 1부터 9까지 추가하면서 2, 3번째 단계를 반복합니다.
5. 숫자 9까지 추가했다면 다시 숫자 1부터 추가합니다.
```

n이 매개변수로 주어질 때, n번째로 생성할 수를 문자열 형태로 return 하는 solution 함수를 작성하려 합니다. 위 구조를 참고하여 코드가 바르게 동작하도록 빈칸을 채워주세요.

매개변수 설명

숫자 n이 solution 함수의 매개변수로 주어집니다.

* n은 1 이상 1,000 이하인 자연수입니다.

return 값 설명

solution 함수는 n번째 수를 문자열 형태로 return 합니다.

예시

| n | return |
|---|---|
| 5 | "53124" |

예시 설명

첫 번째 숫자: 1
두 번째 숫자: 21
세 번째 숫자: 312
네 번째 숫자: 4213
다섯 번째 숫자: 53124

따라서 답은 "53124"입니다.

문제 코드

def solution(n):
    answer = ''
    for i in range(n):
        answer += str(@@@)
        answer = answer[@@@]
    return answer

풀이

def solution(n):
    answer = ''
    for i in range(n):
    	# 2. 다음수를 1의 자리에 추가합니다. 숫자 9까지 추가했다면 다시 숫자 1부터 추가합니다.
        answer += str(i%9+1)
        # 3. 만든 숫자를 뒤집습니다.
        answer = answer[::-1]
    return answer

댓글