๋ฌธ์
๋ฐฑ์ค ์จ๋ผ์ธ ์ ์ง - 2529๋ฒ
ํ์ด ๊ณผ์
๋ถ๋ฑํธ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ต์ ๋ฐ ์ต๋ ์์ด์ ์ฐพ๋ ๋ฌธ์ ์ ๋๋ค.
๋ฐฑํธ๋ํน
์ ํ์ฉํด์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ชจ๋ ์์ด์ ์์ฑํ ๋ค์ ์ต๋ ๋ฐ ์ต์ ๊ฐ์ ๋น๊ตํด์ ๋ต์ ๊ตฌํ๋ฉด ๋ฉ๋๋ค.
์ฝ๋
import sys
K = int(input())
signs = list(sys.stdin.readline().split())
min_value = '9999999999'
max_value = '0'
def compare(pick):
global min_value, max_value
num = ''.join(map(str, pick))
min_value = min_value if int(min_value) < int(num) else num
max_value = max_value if int(max_value) > int(num) else num
def dfs(pick, depth):
if depth == K:
compare(pick)
return
for num in range(10):
if num not in pick:
if signs[depth] == '<' and num <= pick[depth]:
continue
elif signs[depth] == '>' and num >= pick[depth]:
continue
pick.append(num)
dfs(pick, depth + 1)
pick.pop()
def solution():
for start in range(10):
dfs([start], 0)
print(max_value)
print(min_value)
solution()
๋ฐ์ํ
'๐ algorithm > boj' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ 9184 - ์ ๋๋ ํจ์ ์คํ (0) | 2021.03.08 |
---|---|
BOJ 14226 - ์ด๋ชจํฐ์ฝ (0) | 2021.03.08 |
BOJ 1802 - ์ข ์ด ์ ๊ธฐ (0) | 2021.03.08 |
BOJ 17829 - 222-ํ๋ง (0) | 2021.03.08 |
BOJ 13905 - ์ธ๋ถ (0) | 2021.03.08 |
๐ฌ ๋๊ธ