9946번 - 단어 퍼즐
배열을 이용해서 풀긴 풀었는데 이 방법 말고 다른 방법을 좀 알아보다가 아스키코드를 이용하는 방법을 생각해봤는데요.
코드를 아래와 같이 짰는데 EOFError가 출력 되면서 틀린 답으로 인식하고 있습니다.
혹시 EOFError 예외처리를 해주면 해결이 되는 문제인가요? 계속 해봤는데 잘 모르겠어서 질문 드립니다.
예제를 한 번 입력해보세요.
예제는 입력했을때 정상적으로 출력은 되는 상황입니다.
어제 이후로 코드를 수정하셨네요. 이 코드 그대로 내면 EOFError가 아닌 틀렸습니다가 나옵니다.
어제는 3, 4번째 줄을 list(input())이라고 하셨기 때문에 END가 입력되어도 a와 b는 "END"가 아니라 ['E', 'N', 'D']이기 때문에 5번째 줄이 참이 되지 못하고 그대로 루프를 계속 돌기 때문에 다음 루프에서 입력을 받으려고 할 때 문제가 생긴 것입니다.
현재 코드가 틀린 이유는 단순히 알파벳의 값을 합하는 것만으로는 정확하게 비교할 수 없기 때문입니다. 다음과 같은 반례가 있습니다.
어제의 코드 그대로 테스트를 해보셨다면 예제에 대한 출력은 아래와 같이 존재하지 않는 Case 5에 대한 답을 출력하고 프로그램도 종료되지 않고 있는 상태가 되었을 것입니다.
네, 맞습니다. 처음에는 리스트에 하나하나 받아와서 그걸 반복문을 이용해 아스키 코드 변환값으로 더해주면 똑같은 단어지만 순서가 바뀌어도 어차피 값은 같으니까 될 거 같다고 생각했는데 생각해보니 숫자만으로는 판단이 불가능하겠네요...! 조언 감사합니다.
댓글을 작성하려면 로그인해야 합니다.
dnwls4659 2년 전
배열을 이용해서 풀긴 풀었는데 이 방법 말고 다른 방법을 좀 알아보다가 아스키코드를 이용하는 방법을 생각해봤는데요.
코드를 아래와 같이 짰는데 EOFError가 출력 되면서 틀린 답으로 인식하고 있습니다.
혹시 EOFError 예외처리를 해주면 해결이 되는 문제인가요? 계속 해봤는데 잘 모르겠어서 질문 드립니다.