본문 바로가기
코딩테스트/백준 알고리즘

백준 알고리즘 | 2750 : 수 정렬하기 (Python / 파이썬)

by 함께 공부해요 2020. 11. 3.


수 정렬하기 성공분류

시간 제한

메모리 제한

제출

정답

맞은 사람

정답 비율

1 초

128 MB

66609

37538

26230

58.158%

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

 

2750번: 수 정렬하기

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

www.acmicpc.net


문제

N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

입력

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

출력

첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

알고리즘 분류

구현

정렬


 

백준 알고리즘 # 2750번 : 수 정렬하기

출처:  https://wikidocs.net/16041
출처:  https://wikidocs.net/16041

https://docs.python.org/ko/3/howto/sorting.html

 

 

정렬 HOW TO — Python 3.9.0 문서

정렬 HOW TO 저자 Andrew Dalke와 Raymond Hettinger 배포 0.1 파이썬 리스트에는 리스트를 제자리에서(in-place) 수정하는 내장 list.sort() 메서드가 있습니다. 또한, 이터러블로부터 새로운 정렬된 리스트를 만

docs.python.org

n = int(input())
ls = []

for _ in range(n):
    ls.append(int(input()))

s = sorted(ls)

for i in s:
    print(i)

풀이

다시 코딩테스트를 준비해야하는 기간이 왔습니다😂

근래에 알고리즘 공부를 소홀히 했더니 기초적인 문제들부터 다시 풀어야겠더군요...ㅎㅎ 풀이해보죠!

정렬하는 방법은 쉽게 2가지 정도가 있습니다.

key point 1: sorted 함수 사용하기

위에 풀이한 코드와 같이 for문으로 n만큼 반복을 해준 뒤, ls로 설정해둔 리스트 []에 n 이후로 주어지는 정수를 append(추가)해줬어요.

다음으로 s라는 변수를 설정해서 sorted함수로 ls 리스트의 수를 sorted 함수는 기본적으로 오름차순으로 정렬된다는 것을 활용해서 정렬했어요.

key point 2: sort 함수 사용하기

다음으로 sort 함수는 따로 s라는 변수를 설정하지 않고, ls.sort()하게 되면 역시 오름차순으로 정렬이 되는데요.

여기서 ls.sort(reverse=True)로 코드를 짤 경우에는 내림차순으로 정렬되요.

2가지 방법으로 정렬을 한 뒤 for문으로 리스트 ls에 정렬된 정수들을 순서대로 출력해주면 끄-읏!

세한 코드가 궁금하신 분들은 아래 GitHub 코드를 참고해주세요🙏

 

wook2124/Algorithm-Test

Practice algorithm. Contribute to wook2124/Algorithm-Test development by creating an account on GitHub.

github.com

최종 소스코드

댓글