황소개발자

백준 2529 파이썬 python : 부등호 @@황소처럼 우직하게@@ 아직 멍청이다 본문

백준 문제 풀이

백준 2529 파이썬 python : 부등호 @@황소처럼 우직하게@@ 아직 멍청이다

hjp845 2020. 3. 7. 11:27
반응형

아직 난 멍청이다

N과 M 그렇게 풀어놓고

이걸 생각하지 못하다니

재귀에서 for 1~10 돌리면

모든 케이스 체크 가능하다.

중복 안되려면 check 배열 만들어서 T F 해주면된다

레바스님의 풀이이다.

n = int(input())
op = input().split()
c = [False] * 10
mx, mn = "", ""

def possible(i, j, k):
    if k == '<':
        return i < j
    if k == '>':
        return i > j
    return True

def solve(cnt, s):
    global mx, mn
    if cnt == n + 1:
        if not len(mn):
            mn = s
        else:
            mx = s
        return
    for i in range(10):
        if not c[i]:
            if cnt == 0 or possible(s[-1], str(i), op[cnt - 1]):
                c[i] = True
                solve(cnt + 1, s + str(i))
                c[i] = False
solve(0, "")
print(mx)
print(mn)
반응형
Comments