문제) 자연수 뒤집어 배열로 만들기
코딩테스트 연습 - 자연수 뒤집어 배열로 만들기
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345
programmers.co.kr
- 내 풀이 1
- 오류: 문제가 12345 에서 54321이 되다보니 내림차순 정렬로 착각
→ 이 문제는 반대로 뒤집는 것
- 정수형 n을 str해서 분리해서 list에 담되 정수형으로 담고 싶을 경우 map 함수 사용
def solution(n):
answer = list(map(int,str(n)))
answer.sort(reverse=True)
return answer
- 내 풀이
- 리스트 역순으로 불러올 때 [길이-1]부터 0까지 → range(len(num)-1, -1, -1)
def solution(n):
num = list(map(int,str(n)))
answer=[]
for i in range(len(num)-1,-1,-1):
answer.append(num[i])
return answer
print(solution(12345))
#결과
[5,4,3,2,1]
- 다른 사람 풀이1
def solution(n):
return list(map(int, reversed(str(n))))
- reversed(x) 함수 사용
- list로 변환해주기
reverse 함수 추가적인 내용: [Python] reverse VS reversed 함수 :: SOMDAY (tistory.com)
- 다른 사람 풀이2
def solution(n):
return [int(i) for i in str(n)][::-1]
- str값은 for문으로 바로 한 글자씩 불러올 수 있음: for i in str(n)
- [::-1] : C가 음수이므로 마지막부터 첫번째까지 한 칸 씩 (역순)
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] [Level 1] 이상한 문자 만들기 (0) | 2022.02.21 |
|---|---|
| [프로그래머스] [Level 1] 자릿수 더하기 (0) | 2022.02.21 |
| [프로그래머스] [Level 1] 정수 내림차순으로 배치하기 (0) | 2022.02.16 |
| [프로그래머스] [Level 1] 정수 제곱근 판별 (0) | 2022.02.16 |
| [프로그래머스] [Level 1] 제일 작은 수 제거하기 (0) | 2022.02.16 |