반응형
문제설명
다음과 같이 새로운 숫자를 생성할 때, 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
댓글