문제
https://www.acmicpc.net/problem/2750
2750번: 수 정렬하기
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
www.acmicpc.net
코드
내가 작성한 코드
num = int(input())
result = []
for i in range(num):
num2 = int(input().strip())
result.append(num2)
result.sort()
for j in result:
print(j)
해석
num = int(input())
위 입력예제를 보면 N개의 수를 입력하기 전에 몇개의 수를 받을지 입력하는 부분이 있어 input() 함수 사용하여 값을 받아주었고 input()은 기본적으로 문자열로 들어와 int()로 input()을 감싸 정수로 형변환을 진행해주었다.
result = []
그 다음 반복문을 돌리면서 N개의 수를 입력받으면 append를 시켜줄 result라는 빈 배열을 만들어주고
for i in range(num):
num2 = int(input().strip())
result.append(num2)
result.sort()
반복문을 사용하여 처음 input()로 입력받은 개수만큼 반복을 진행해주었다.
위에 입력 예제를 보면 '5 6 7 8' 이런 식으로 한 번에 입력받는 게 아닌 각 수를 따로따로 입력받는 형식이라 반복문 안에 input() 함수를 사용하여 반복 횟수만큼 입력받을 수 있게 코드를 작성하였고 입력받은 값을 num2라는 변수에 담아 미리 만들어놨던 result 리스트에 append를 해주었다.
그리고 문제에서 '오름차순으로 정렬' 이라는 문구가 있어 sort()를 사용해 리스트를 정렬해주었다.
for j in result:
print(j)
그 후 출력 예제를 보면 print가 한줄 한줄 따로 출력되기 때문에 반복문을 이용하여 result를 j에 담아 result 리스트의 길이 만큼 출력해주었다.
'파이썬 > 코딩테스트' 카테고리의 다른 글
[Do-it 코딩 테스트] 006. 연속된 자연수의 합 구하기(2018) (0) | 2023.10.30 |
---|---|
[Do-it 코딩 테스트] 004. 숫자의 합 구하기2(11660) (0) | 2023.10.27 |
[Do-it 코딩 테스트] 003. 구간 합 구하기1(11659) (0) | 2023.10.26 |
[Do-it 코딩 테스트] 002. 평균 구하기(2750) (0) | 2023.10.26 |
[Do-it 코딩 테스트] 001. 숫자의 합 구하기(11720) (1) | 2023.10.26 |