๋ฌธ์
https://www.acmicpc.net/problem/15688
๋ฐฑ์ค ๋ฌธ์ ์ง - 0x0E๊ฐ - ์ ๋ ฌ I
์๊ณ ๋ฆฌ์ฆ: ์ ๋ ฌ
ํ์ด
N๊ฐ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ด๋ฅผ ๋น๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๊ธธ์ด๊ฐ K์ธ ์์ด A๊ฐ A1 ≤ A2 ≤ ... ≤ AK-1 ≤ AK๋ฅผ ๋ง์กฑํ๋ฉด, ๋น๋ด๋ฆผ์ฐจ์์ด๋ผ๊ณ ํ๋ค.
์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์ซ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ ์ ๋๊ฐ์ด 1,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ฉฐ, ๊ฐ์ ์๊ฐ ์ฌ๋ฌ ๋ฒ ์ค๋ณต๋ ์๋ ์๋ค.
๋น๋ด๋ฆผ์ฐจ์ = ์ค๋ฆ์ฐจ์์ผ๋ก ์๊ฐํ๋ฉด ๋๋ค.
11931: ์ ์ ๋ ฌํ๊ธฐ 4์ ๋น์ทํ์ง๋ง ์ด๋ฒ์ ์ค๋ณต๋๋ ๊ฒฝ์ฐ๋ฅผ ์ผ๋ํด๋ฌ์ผ ํ๋ค.
๋ฐ๋ผ์ 2,000,001 ํฌ๊ธฐ์ ๋ฆฌ์คํธ๋ฅผ ์์ฑํ๋, boolean ๊ฐ์ด ์๋ 0 ์ผ๋ก ์ด๊ธฐํํด์ผํ๋ค.
nums = [0] * 2000001
๊ทธ๋ฆฌ๊ณ ์ ๋ ฅ๊ฐ์ ํ์ค์ฉ ๋ฐ์์ค๋ฉด์ ํด๋น ์ธ๋ฑ์ค์ ๊ฐ์ 1์ฉ ๋ํด์ค๋ค.
for _ in range(N):
n = int(input())
nums[n] += 1
์ค๋ฆ์ฐจ์ ์ถ๋ ฅ์ด๋ฏ๋ก -1,000,000 ๋ถํฐ 1,000,001 ๊น์ง ์ํํ๋ค.
๋ง์ฝ nums[i] ๊ฐ์ด 0์ด ์๋๋ผ๋ฉด ๋ค์ด์๋ ๊ฐ ๋งํผ i ๋ฅผ ์ถ๋ ฅํ๋ค.
for i in range(-1000000, 1000001):
if nums[i] != 0:
for j in range(nums[i]):
print(i)
์ ์ฒด ์ฝ๋
# ๋ฉ๋ชจ๋ฆฌ: 46744KB / ์๊ฐ: 27776ms
from sys import stdin
input = stdin.readline
N = int(input())
nums = [0] * 2000001
for _ in range(N):
n = int(input())
nums[n] += 1
for i in range(-1000000, 1000001):
if nums[i] != 0:
for j in range(nums[i]):
print(i)
๊ทผ๋ฐ ์ด ๋ฌธ์ ... sort() ๋ก๋ ํต๊ณผ๋๋ค.
๋ค๋ฅธ ํ์ด๋ค์ ๋ณด๋ sort()๋ก๋ ๋๋๋ผ;;
sort๋ก ํต๊ณผ๋๋ ๊ธฐ์ค์ด ๋ญ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ํ์ฌํผ๊ฐ์ ์ ์ ๋ ฌ 5๋ sort๋ก ๊ฐ๋ฅํ๋ค!
# ๋ฉ๋ชจ๋ฆฌ: 87720KB / ์๊ฐ: 16116ms
from sys import stdin
input = stdin.readline
N = int(input())
nums = [int(input()) for _ in range(N)]
nums.sort()
print(*nums)
๋ฌผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ ๊ณฑ์ ๋ก ์ฐจ์ด๋๋ค.