ZZangZZang   9년 전

옛날에 문제풀 때, 특이한 것들을 기록했던 텍스트를 읽다가 이 질문을 합니다.

예전에 2257번을 푸는데 입력에 이상한 문자가 있는걸 발견했었습니다.

문제의 정의대로라면,

H, C, O, (, ), 2, 3, 4, 5, 6, 7, 8, 9

이외의 문자는 안나온다고 돼어있기에 문자를 경우에 따라 걸러내는 로직에서

숫자 이외의 문자는 if으로 걸러내주고 숫자는 마지막 else 절에서 처리했는데 계속 틀리는걸 보고 뭔가 이상해서

else 절을 else if 절로 바꿨더니 정답이 됐어요.

초대되지 않은 문자가 하나 흘러왔다는 것인데 전 그 문자의 정체을 찾기 위해 채점시스템을 바이너리 서치에 이용했습니다.

제 채점현황에 유난히 긴 소스들이 그 바이너리 서치의 흔적입니다. ㅋㅋㅋㅋㅋ

마침내 그 문자가 뭔지 찾아냈는데 ascii 값 26인 SUB 문자였습니다.

저게 뭐하는 문자인지는 모르겠습니다. (control character 라고는 하는데... 잘 모르겠어요.)

발견할 당시 질문을 하려다 그냥 귀찮아서 안했는데 기록을 읽다가 한 번 질문해봅니다. ㅋㅋㅋ

본론 : 왜 엉뚱한 SUB문자가 입력에 들어오나요?

baekjoon   9년 전

입력에 이상한 값이 있었네요.

재채첨하겠습니다.

baekjoon   9년 전

ㅈㅐ채점 끝~

ZZangZZang   9년 전

재채점에서 결과 바뀐게 저 밖에 없네요. ㅋㅋㅋㅋㅋㅋㅋ

댓글을 작성하려면 로그인해야 합니다.