일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- Algorithm
- Andrew NG
- 파이썬
- 머신러닝
- 프로그래머스
- sorted
- sql오답노트
- sql
- SQL공부
- POP
- 코세라강의
- 머신러닝강의
- 코세라머신러닝
- 안드류응
- 알고리즘
- 코세라머신러닝강의
- programmers
- 인프런sql강의
- DATE_FORMAT
- 프로그래머스SQL
- orderby
- mysql
- groupby
- PYTHON
- 코세라
- map
- coursera
- WHERE
- Machine Learning
- 경제공부
Archives
- Today
- Total
미래를 예측하는 데이터분석가
[Programmers] 프로그래머스 lv1 자연수 뒤집어 배열로 만들기/정수 내림차순으로 배치하기 본문
1. 프로그래머스 자연수 뒤집어 배열로 만들기 문제
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
조건
- n은 10,000,000,000이하인 자연수입니다.
nreturn
n | return |
12345 | [5,4,3,2,1] |
모든 테스트를 통과한 풀이답안
def solution(n):
answer = []
answer = [int(i) for i in str(n)][::-1]
return answer
여기서 keypoint code는 [int(i) for i in str(n)][::-1]이다. for구문에서 뽑은 요소를 바로 리스트에 꽂아버리는 멋진 코드!
그리고 [start:end:step]으로 -1을 하면 리스트를 거꾸로 뒤집어 배열하라라는 의미이다.
하지만 이렇게 말고 다른 사람 풀이에서list(map(int,reversed(str(n))))의 코드를 보았다.
list(map(함수, 리스트값)) : 리스트값의 요소에 특정 함수를 적용시켜줌
for반복문으로 list의 요소 하나하나 접근하는 것보다 빠르고 간단하게 표현할 수 있다.
2. 프로그래머스 정수 내림차순으로 배치하기 문제
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
조건
- n은 1이상 8000000000 이하인 자연수입니다.
n | return |
118372 | 873211 |
모든 테스트를 통과한 풀이답안
def solution(n):
answer = [i for i in str(n)]
answer.sort(reverse=True)
answer = ''.join(answer)
return int(answer)
리스트에서 숫자로 된 문자열의 배열또한 sort로 배열할 수 있었다.
sort합수에서 reverse=True로 내림차순이라는 옵션을 지정해주고 join함수를 사용해 다시 문자를 배합해 integer로 변경했다. 어렵진 않지만 기본 문법을 정확히 알고 있어야만 빠르게 풀 수 있는 문제였다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[Programmers] 프로그래머스 lv1 콜라츠 추측 (0) | 2021.02.02 |
---|---|
[Programmers] 프로그래머스 lv1 행렬의 덧셈 (0) | 2021.01.28 |
[Programmers] 프로그래머스 lv1 시저암호 (0) | 2021.01.25 |
[Programmers] 프로그래머스 완주하지 못한 선수 lv1 (0) | 2021.01.24 |
[Programmers] 프로그래머스 실패율 lv1 (0) | 2021.01.22 |