과거 프로그래밍 자료들/코딩테스트
[백준] 2750 - python
평부
2022. 10. 11. 12:17
https://www.acmicpc.net/problem/2750
* N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
* (틀린 답안) 처음 제출
▶ 숫자를 넣을 때 아래로 넣는데 이 방식은 옆으로 넣음
▶ 반복문으로 만든 다음 list로 만들어서 배열이 최종값으로 되는데 문제는 숫자만 세로로 나열했어야 함
a = list(map(int, input().split()))
b = list(set(a))
print(b)
* (맞는 답안) 제출
▶ 각각의 숫자들을 넣음, 반복문을 사용
▶ 위와 동일하게 set 함수 이용(중복값 제거 위함)
▶ int(input())을 넣는 이유 : 입력값(N)에 숫자만 넣게 하려고
N = int(input())
M = set()
for i in range(N):
M.add(int(input()))
▶ M = list(M) 필요, 그 전에 M은 배열([])이 아닌 딕셔너리({})로 나옴
N = int(input())
M = set()
for i in range(N):
M.add(int(input()))
print(M) #{1, 2, 3, 4, 5}
▶ sort 함수는 배열에서 정렬, 기본정렬은 오름차순이며 내림차순을 원할 경우 reverse=True 사용
N = int(input())
M = set()
for i in range(N):
M.add(int(input()))
M = list(M)
M.sort()
▶ M의 길이만큼(len) 반복문을 사용해 순서대로 오름차순한 결과를 보여줌
▶ print(M)이 아닌 print(M[i])을 사용하는 이유 : print(M)을 사용하면 숫자가 아닌 배열이 결과로 나옴
N = int(input())
M = set()
for i in range(N):
M.add(int(input()))
print(M)
M = list(M)
M.sort(reverse=True)
for i in range(len(M)):
print(M[i]) # 1 2 3 4 5 이렇게 나옴
#print(M) #[1, 2, 3, 4, 5] 이게 5번 나옴