
[시간초과]
n = int(input())
nums = [int(input()) for _ in range(n)]
nums.sort()
for i in range(n):
print(nums[i])
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
[시간 개선한 최종 코드]
import sys
n = int(sys.stdin.readline())
nums = [int(sys.stdin.readline()) for _ in range(n)]
nums.sort()
sys.stdout.write('\n'.join(map(str, nums)) + '\n')
- sys.stdin.readline()
- sys.stdout.write()
- '\n'.join()
🚫 join()의 필수 조건
Python에서 .join() 메서드를 사용하기 위한 가장 중요한 규칙은 join()의 인수로 전달되는 반복 가능한 객체(여기서는 map(str, nums)의 결과)의 모든 요소가 문자열(string) 타입이어야 한다는 것입니다.
- 이유:
nums 리스트 안에는 정수(integer)가 들어있는데, .join()은 이 정수들을 합치기 위해 문자열로 변환하는 기능을 내장하고 있지 않습니다. .join()은 문자열들을 단순히 이어 붙이는 역할만 합니다.
💡 + '\n'을 붙이는 이유
- 일반적인 출력 규격 준수: 코딩 테스트 환경에서는 프로그램의 출력이 끝난 후 **마지막 줄에 개행 문자(줄바꿈 문자, \n)**가 있어야 깔끔하게 종료되었다고 인식되는 경우가 많습니다. 일부 환경에서는 마지막 줄에 \n이 없으면 오답 처리되거나 경고를 받을 수 있습니다.
'백준 - 파이썬 > 단계별 - 13 (정렬)' 카테고리의 다른 글
| [백준/파이썬] 1427번 소트인사이드 (0) | 2025.10.22 |
|---|---|
| *[백준/파이썬] 10989번 수 정렬하기 3 | 계수 정렬 (Counting Sort) | 메모리초과 주의 (1) | 2025.10.22 |
| [백준/파이썬] 25305번 커트라인 | sort(reverse=True) 내림차순 정렬 (0) | 2025.10.21 |
| [백준/파이썬] 2587번 대표값2 (0) | 2025.10.21 |
| [백준/파이썬] 2750번 수 정렬하기 | list의 sort() 메소드 (0) | 2025.10.21 |