백준 #1622번: 공통 순열 질문

백준 #1622번: 공통 순열을 푸는데 계속 14%에서 틀렸다고 합니다.
질문 계시판 찾아보니까 크기가 0인 문자열도 있다고 하는데 그걸 어떻게 걸러내는지 모르겠습니다.
그리고 테스트 종료 조건을 모르겠는데 알려주실 분 계시나요?
아예 어떤 값이 들어오면 종료 같은 조건을 알려주시면 감사하겠습니다.

while 1:
    line1 = input()
    if not line1:
        break
    line2 = input()
    check = []
    temp1 = min(line1, line2)
    temp2 = max(line1, line2)
    for i in temp1:
        if i in temp2:
            check += i
    check.sort()
    check = ''.join(check)
    print(check)
1 Like

https://www.acmicpc.net/board/view/28913

파이썬 주력 유저가 아닌지라 이게 도움이 될지 모르겠네요…

def main(f=None):

    base = ord('a')

    flip = True
    for line in sys.stdin:
        freq = [0] * 26
        for c in line.strip():
            freq[ord(c) - base] += 1

        if flip:
            A = freq
        else:
            B = freq
            res = ""
            for i in range(26):
                res += chr(i + base) * min(A[i], B[i])
            print(res)

        flip = not flip

for line in sys.stdin: 이거 쓰면 파일 끝에서 알아서 멈추거든요?

그걸 사용해서 한번 플립플롭 해봣읍니다… 다행히 통과하네요

예외 처리하는 방법이 있었네요!
고마워요

한 번에 두 줄을 입력받아야해서 sys.stdin은 다른 문제에서 활용해야겠네요.

1 Like