사용 언어: python 3.7.4
문제
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
출력
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
파이썬 list에는 리스트를 정렬해주는 list.sort() 메소드가 내장되어 있다.
sort()를 이용해 문제를 해결한다.
### Input
n = int(input())
list1 = []
for i in range(n):
list1.append(int(input())) # 원소 추가
### Algorithm
list1.sort() # 정렬
### Output
for i in list1:
print(i)
correct
메모리 | 시간 | 코드길이 |
---|---|---|
28776 KB | 116 ms | 136 B |
파이썬 list의 sort 기본 시간 복잡도: O(NlogN)
for문이 2개 더 있으므로 2N이 추가되면 O(NlogN+2N)이다.
append()
로, list.append(v)
로 사용한다.sort()
로, list.sort()
로 사용한다. 오름차순으로 정렬한다.list.sort()
후, list.reverse()
를 사용한다.for i in list
를 사용한다.(i에는 원소가 들어있다.)input()
을 int()
로 감싸야 문자열 타입으로 반환받지 않고 숫자로 반환받을 수 있다.
특히 입력받는 부분을 더 공부해야겠다. -> 추가하기
다른 사람의 파이썬 코드도 분석이 더 필요하다.
여태껏 C++로 코딩 테스트 언어를 공부하다가, Python으로 처음 풀어본 문제이다.
아직 파이써닉하게 코드를 잘 짜지 못하는 것 같다.