[programmers] 프로그래머스 Level1 정수 내림차순으로 배치하기
(파이썬 Python)
* 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제
* 소스 코드 및 정리한 내용의 저작권은 글쓴이에게 있습니다.
프로그래머스 Level1 정수 내림차순으로 배치하기
1) 문제
2) 풀이 과정
1. 입력받은 n을 리스트로 변환 이 후 "내림차순"으로 정렬
2. 받은 리스트의 개수만큼 i에 저장하여 비어있는 answer=''에 각 i의 값에 대응하는 인덱스의 값을 저장
3. answer에 저장된 것을 int로 변환하여 리턴
3) 코드
1
2
3
4
5
6
7
8
9
10
|
def solution(n):
answer = ''
n = list(str(n))
n.sort(reverse=True)
for i in range(len(n)):
answer += n[i]
return int(answer)
|
cs |
4) 정리 노트
(1)
1
2
3
4
5
|
n = 118372
print(n)
# < 출 력 >
#118372
|
cs |
(2)
: 리스트로 변환해서 풀어야겠다. 근데 오류가 뜨네?
1
2
3
4
5
6
7
8
9
10
11
|
n = 118372
n = list(n)
# < 오류 발생 >
# ---------------------------------------------------------------------------
# TypeError Traceback (most recent call last)
# <ipython-input-4-8632dc97664b> in <module>
# 1 n = 118372
# ----> 2 n = list(n)
# TypeError: 'int' object is not iterable
|
cs |
(3)
: 위에서 타입 에러 니까 int 가 아니면 문자겠지?
1
2
3
4
5
6
|
n = 118372
n = list(str(n))
print(n)
# < 출 력 >
# ['1', '1', '8', '3', '7', '2']
|
cs |
(4)
: 해당 i에 해당하는 값들을 출력
1
2
3
4
5
6
7
8
9
10
11
12
13
|
answer = ''
n = 118372
n = list(str(n))
n.sort(reverse=True)
for i in range(len(n)):
answer += n[i]
print(answer)
# < 출 력 >
# 873211
|
cs |
(5)
: 또 오류네?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
def solution(n):
answer = ''
n = list(str(n))
n.sort(reverse=True)
for i in range(len(n)):
answer += n[i]
return answer
# < 오류 발생 >
# Traceback (most recent call last):
# File "/solution_test.py", line 17, in test
# actual0 = solution(p0_0)
# File "/solution.py", line 12, in solution
# return int(answer)
# TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'
|
cs |
(6)
: 반환 answer를 int()로 정수 처리
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
def solution(n):
answer = ''
n = list(str(n))
n.sort(reverse=True)
for i in range(len(n)):
answer += n[i]
return int(answer)
solution(118372)
# < 출 력 >
# 873211
|
cs |
'*Algorithm > Programmers_Level1' 카테고리의 다른 글
[programmers] 프로그래머스 Level1 직사각형 별찍기(파이썬 Python 자바 Java) (0) | 2020.09.02 |
---|---|
[programmers] 프로그래머스 Level1 행렬의 덧셈(파이썬 Python) (0) | 2020.09.01 |
[programmers] 프로그래머스 Level1 핸드폰 번호 가리기(파이썬 Python) (0) | 2020.09.01 |
[programmers] 프로그래머스 Level1 자연수 뒤집어 배열로 만들기(파이썬 Python) (0) | 2020.08.31 |
[programmers] 프로그래머스 Level1 자릿수 더하기(파이썬 Python 자바 Java) (0) | 2020.08.31 |
댓글