kdk8361   7년 전

저는 이 문제를 list[0] list[1] ... list[n-1]까지 주어졌을 때

항상 0이 나온 위치는 신뢰할 수 없는 segment로 간주하고

한번이라도 1이 나온 segment만 모아서 filter를 만든 후 순서대로 비교하는 방식으로 만들었습니다.

그리고 대회인풋을 입력하여 다른 상위득점자의 결과와 비교하니

case #7, #12, #14, #16, #22, #31, #35, #41, #42, #44, #45, #50, #53, #60, #69, #70, #75, #96

가 다르게 나왔습니다. 상위득점자들의 코드는 모두 ERROR!를 출력했습니다.

그런데 좀 이상한게 case #7을 보면

case #7 input : 2 0010011 1011001

0.10.11 -> 4

1.11.01 -> 3 (일치하는 순서가 유일하게 나옵니다.)

대회 output : error

예상 output : 1101101(2) & 1011011(filter) = 1001001

다른 case 모두 저런 케이스들입니다. 문제를 읽어보면 다음 state가 확실한 경우에는

출력하라고 나오는데 왜 APAC 상위득점자들의 코드는 모두 ERROR!가 나오나요? 제가 잘못 이해한건가요?

wlgur1023   1년 전

저도 같은 문제를 겪고 있습니다. 오래된 글이지만 혹시 어떻게 해결하셨나 궁금합니다.

wlgur1023   1년 전

해결했습니다. 고장난 것인지 안 켜진 것인지 불분명한 segment들도 검출해야 하네요.

위의 예시에서 B번 세그먼트는 고장난 것이 확실하지만 (3을 출력할 때 꺼져있었으므로), E번 세그먼트는 고장난 것인지 안 켜진 것인지 확실하지 않습니다. 

한편, 정답인 2를 출력할 때에는 E번 세그먼트 역시 켜야하는데 이때 E번 세그먼트가 고장난 것인지 정상인지 알 수 없으므로 에러를 출력해야 합니다.

  

즉, 출력하고자 하는 답에 고장여부가 불분명한 세그먼트가 포함되어 있다면 에러를 출력해야 합니다.

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