본문 바로가기

algorithm/백준알고리즘

[백준알고리즘] 2751번: 수 정렬하기 2 -Python

728x90

[백준알고리즘] 2751번: 수 정렬하기 2 -Python

https://www.acmicpc.net/problem/2751

 

2751번: 수 정렬하기 2

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

www.acmicpc.net

간단한 정렬문제이다. 실패로 떠있어서 이전 코드들을 보니까 이 문제가 뭐라고 그렇게 창의적으로 코딩을 했었는지 모르겠다. ㅋㅋㅋㅋ

 

주어진 수만큼 서로 다른 정수들을 입력받아 내림차순으로 출력하면 되는 문제이다.

다른 건 확인할 필요가 없는 것 같고 arr.sort()와 sorted(arr)의 차이만 살펴보면 될 것 같다. 가장 큰 차이는 arr.sort()는 arr내부에서 정렬을 수행하며, return 값이 없다. 즉, B = A.sort()로 받을 수 없다는 것이다. 하지만 sorted(arr)의 경우 arr를 정렬한 리스트를 return 해주며 arr는 정렬되기 전 상태를 그대로 유지한다는 것이다. 아래의 그림을 참조하자.

 

 

코드

import sys

N = int(sys.stdin.readline())
arr = [int(sys.stdin.readline()) for _ in range(N)]
sys.stdout.write("\n".join(map(str, sorted(arr))))

 

잘못된 점이나 부족한 점 지적해주시면 감사하겠습니다

728x90