Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 2750번- '수 정렬하기' (PYTHON 풀이) 본문
문제:

오늘 문제는 정렬과 관련된 문제이다.
상기 이미지대로, 무작위 입력을 받은 후 값끼리 수를 비교하여 오름차순으로 정렬하면 된다.
풀이:
n = int(input())
k=[]
for i in range(n):
a=int(input())
k.append(a)
for j in range(n):
for q in range(j+1,n):
if k[j]>k[q]:
k[j],k[q]=k[q],k[j]
for q in k:
print(q)
코드를 만드는데는 시간이 좀 걸릴 수 있지만, 코드를 보면 어떤 걸 하려고 하는지 이해할 수 있을 것이다.
사용자로부터 반복할 횟수를 입력받고 해당 수만큼 숫자를 입력받은 뒤 k라는 리스트에 저장한다.
이후 for문 두개를 통해 0번째 인덱스에 있는 값을 기준으로 1, 2, ... n-1번째 인덱스까지 전부 비교한 뒤, 0번째 인덱스 값이 더 크다면 비교한 값과 위치를 바꿔준다. 이렇게 전체 인덱스를 반복한 뒤 바깥 for문이 끝 인덱스가 되면 안쪽 for문에서 빈 범위가 되기 때문에 에러 없이 for문이 끝나게 된다.
이후 k 리스트에 정렬된 값을 하나씩 순차적으로 출력하면 문제는 풀린다.
처음에 마지막 for문 없이 print만 했다가 틀려서 보니까 출력 형식이 한 줄씩 띄어서 나오는 것을 보고 상기와 같이 수정했다.
'CODING 💻' 카테고리의 다른 글
| 백준 1267번- '대표값2' (PYTHON 풀이) (0) | 2025.09.27 |
|---|---|
| 백준 1267번- '핸드폰 요금' (PYTHON 풀이) (0) | 2025.09.26 |
| 백준 10699번- '오늘 날짜' (PYTHON 풀이) (0) | 2025.09.24 |
| 백준 24267번- '알고리즘 수업 - 알고리즘의 수행 시간 6' (PYTHON 풀이) (0) | 2025.09.23 |
| 백준 24266번- '알고리즘 수업 - 알고리즘의 수행 시간 5' (PYTHON 풀이) (0) | 2025.09.22 |
