[BOJ] 1622. 공통 순열 (python)

백준 1622. 공통 순열 (파이썬)

 

 

1622번: 공통 순열

알파벳 소문자로 이루어진 두 문자열 a와 b에 대해, a의 부분 수열의 순열이자 b의 부분 수열의 순열이 되는 가장 긴 문자열 x를 구하여라.

www.acmicpc.net

 

# [BOJ] 1622. 공통 순열

while True:
    try:
        a = input()
        b = input()

        bd = {}
        for bb in b:
            if bb in bd:
                bd[bb] += 1
            else:
                bd[bb] = 1

        ans = ''
        for aa in a:
            if aa in b and bd[aa] > 0:
                ans += aa
                bd[aa] -= 1

        print(''.join(sorted(ans)))

    except EOFError:
        break

딕셔너리 이용해서 여러 번 카운팅되지 않게 방지

EOF 주의!