2022년 11월 4일에 작성됨
https://www.acmicpc.net/problem/1427
1427번: 소트인사이드
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
문제 분석
수를 입력했을 때, 각 자리 수를 내림차순으로 정렬하기
수를 리스트에 넣고, 리스트에 들어있는 값을 반대로 정렬하는 방법을 이용한다.
소스 코드 (⭕)
num = int(input()) # num 정수형으로 입력받음
num_list = [] # num 담을 빈 리스트 선언
for i in str(num): # 문자열 형식으로 num을 i에 대입
num_list.append(int(i)) # num의 문자 하나씩 정수로 변환하여 리스트에 추가
num_list.sort(reverse=True) # 리스트에 들어있는 값 반대로 정렬
for i in num_list:
print(i, end='') # 리스트 값을 일렬로 출력
코드 분석
1. num에 정수형으로 숫자 입력받고, num을 담을 리스트를 생성해준다.
2. num을 문자열 형식으로 i에 대입하고 i를 다시 정수형으로 리스트에 넣어준다.
3. sort() 함수를 사용하여 리스트의 값을 반대로 정렬해준다.
기본은 (reverse=False)로 오름차순 정렬인데 (reverse=True)로 변경하면 리스트가 내림차순으로 정렬된다.
4. 리스트의 값을 공백 없이 일렬로 출력한다.
end
파이썬으로 푸니 실버5 치고는 엄청 쉬웠다!
C언어로 풀면 꽤 어려운 문제가 될 것 같다
'코딩테스트 & 문제 풀이' 카테고리의 다른 글
[Python]백준_2581 : 소수 (2) | 2023.10.29 |
---|---|
[Python]백준_1789 : 수들의 합 (2) | 2023.10.29 |
[Python]백준_1193 : 분수찾기 (2) | 2023.10.27 |
[Python]백준_2857 : FBI (0) | 2023.10.27 |
[C]백준_10818 : 최소, 최대 (0) | 2023.10.27 |