๋ฐ์ํ
๐ค๋ฌธ์ ํด๊ฒฐ
๋ชปํ๋ค๊ฐ ๋ฌธ์ ์ ํ์ ๋ฐฑํธ๋ํน์ด ์๊ธธ๋ ํํธ๋ฅผ ์ป์ด ๋ฐฑํธ๋ํน์ผ๋ก ๊ตฌํํด๋ดค๋ค.
- ์์ด๋์ด๋ ํ์ฌ ์ซ์์ ๋์๋ฆฌ๋ณด๋ค ๋ฎ์ ์ซ์๋ค์ ๋ค์ ์ถ๊ฐํ๋ ์ฌ๊ทํจ์๋ฅผ ๋ง๋ค์๋ค.
- ํ์ฌ 764์ด๋ฉด
- 7640 => ๋
- 7641 => 76410 => ๋
- 7642 => 76420 => 76421 => 764210 => ๋
- ํ์ฌ 764์ด๋ฉด
- ๋ง์ง๋ง์ sort๋ง ํด์ฃผ๋ฉด ๋น ๋ฅธ ์๊ฐ ๋ด์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์์๋๋ก ๋ค ์ป์ ์ ์๋ค.
๊ฐ๋ ์ํ๋ฆฌ๋ฉด ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ๊ธฐ ์ ์ ์ ํ์ผ๋ก ํํธ๋ฅผ ์ป์ด๋ณด์๐
๐ป์์ค ์ฝ๋
N = int(input())
# ๋ฐฑํธ๋ํน์ ์ด์ฉํ ๋ฌธ์ ํ์ด
def bt(cur):
answer.append(int(cur))
for j in range(0, int(cur[-1])): # ํ์ฌ ์ซ์์ ๋์๋ฆฌ๋ณด๋ค ๋ฎ์ ์ซ์๋ค๋ง ๊ทธ ๋ค์ ์๋ฆฌ์์ ์ถ๊ฐํ๋ค.
bt(cur + str(j))
if N > 1023: # ๊ฐฏ์๊ฐ 1023๊ฐ์ธ๋ฏ... 0 ๋ถํฐ 9876543210 ๊น์ง ์ด๋ฏ๋ก ์ผ๋ง ์๋์ด
print(-1)
else:
answer = []
for i in range(10): # ๋งจ ์์๋ฆฌ๊ฐ 0, 1, ,... , 9
bt(str(i))
print(sorted(answer)[N - 1])
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: BACKJOON ONLINE JUDGE
๋ฐ์ํ
'Algorithm Problem > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[python] ๋ฐฑ์ค - 19598. ์ต์ ํ์์ค ๊ฐ์ (0) | 2021.09.09 |
---|---|
[python] ๋ฐฑ์ค - 1013. Contact (0) | 2021.09.08 |
[python] ๋ฐฑ์ค - 1148. ๋จ์ด ๋ง๋ค๊ธฐ (0) | 2021.09.06 |
[python] ๋ฐฑ์ค - 1105. ํ (0) | 2021.09.05 |
[python] ๋ฐฑ์ค - 13023. ABCDE (0) | 2021.09.04 |