1107번 - 리모컨
C로 코딩하였구요 코딩하고 보니까 코드가 많이 더럽네요.. ㅜ-ㅜ
우선 1107번 질문 게시판에 올려주신 소중한 반례들 전부 테스트해봤는데 전부 맞게 나옵니다...
반례만 알아도 디버깅해보면서 수정하면 되는데 ..
하지만 제출을 하고 돌려보니 틀렸습니다가 나오구요..
모든 질문 글을 다 읽어보고 수정해봤지만 더이상 아이디어가 떠오르지 않습니다 대체 어느부분이 틀린건지..
우선 C1,C2,C3을 구해 경우를 나눠 최솟값을 출력하는 식으로 코딩했습니다.
C1 : 100번에서 시작해 +, -로만 목표채널로 가는 경우
C2 : 목표채널에서 +1, -1을 해가며 고장난 버튼을 포함하고 있지 않는 채널로 이동 후 + - 를 이용해 목표채널로 가는 경우
C3 : 목표채널이 고장난 버튼을 포함하고 있지 않는 경우
이렇게 나누어서 목표채널이 고장난 버튼을 포함하고 있지 않는 경우에는 C1, C3을 비교하여 출력, 목표채널이 고장난 버튼을 포함하고 있는 경우엔 C1, C2를 비교하여 출력했습니다.
또 가고자 하는 채널이 100번 인경우, 고장난 버튼이 10개인 경우, 고장난 버튼이 9개 인데 0을 제외하고 다 고장나있는 경우는 시간 단축을 위해 따로 코드를 짜주었습니다.
질문글 1페이지 부터 마지막 페이지 까지 있는 모든 반례와 챙겨야 할 것들은 다 챙긴 것 같은데 대체 어느부분이 틀렸는지
저는 도저히 감이 오지 않습니다 코딩 고수분들의 회초리 기다리고 있습니다.
1 1 1 입력 하면
0으로 간 후 +
2로 간 후 - 가 가장 적은 버튼 횟수라
정답이 2가 나와야 할거 같은데
1이 출력 되는듯 합니다.
@jaeokbr
0으로 간 후 + 에서 0으로 가는 카운트를 못세고 있었네요!!!! 그래서 1이 리턴됐던것 같습니다.
수정하니까 맞았네요 ! 정말 감사합니다 ㅠㅠ
테스트케이스 중에 경계값 케이스 잘 체크해본다고 했는데 1 1 1 을 미처 생각하지 못하고 있었네요..
이틀 고민했는데 정말 감사합니다 ^^ 복받으실꺼에요
다른분들 코드 보면 정말 간단한데 제건 너무 복잡하고 더러워보여서 이제 짧게 줄일 방법을 연구해 봐야겠습니다
다시 한번 감사합니다 ^^
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
댓글을 작성하려면 로그인해야 합니다.
nkb7714 4년 전
C로 코딩하였구요 코딩하고 보니까 코드가 많이 더럽네요.. ㅜ-ㅜ
우선 1107번 질문 게시판에 올려주신 소중한 반례들 전부 테스트해봤는데 전부 맞게 나옵니다...
반례만 알아도 디버깅해보면서 수정하면 되는데 ..
하지만 제출을 하고 돌려보니 틀렸습니다가 나오구요..
모든 질문 글을 다 읽어보고 수정해봤지만 더이상 아이디어가 떠오르지 않습니다 대체 어느부분이 틀린건지..
우선 C1,C2,C3을 구해 경우를 나눠 최솟값을 출력하는 식으로 코딩했습니다.
C1 : 100번에서 시작해 +, -로만 목표채널로 가는 경우
C2 : 목표채널에서 +1, -1을 해가며 고장난 버튼을 포함하고 있지 않는 채널로 이동 후 + - 를 이용해 목표채널로 가는 경우
C3 : 목표채널이 고장난 버튼을 포함하고 있지 않는 경우
이렇게 나누어서 목표채널이 고장난 버튼을 포함하고 있지 않는 경우에는 C1, C3을 비교하여 출력, 목표채널이 고장난 버튼을 포함하고 있는 경우엔 C1, C2를 비교하여 출력했습니다.
또 가고자 하는 채널이 100번 인경우, 고장난 버튼이 10개인 경우, 고장난 버튼이 9개 인데 0을 제외하고 다 고장나있는 경우는 시간 단축을 위해 따로 코드를 짜주었습니다.
질문글 1페이지 부터 마지막 페이지 까지 있는 모든 반례와 챙겨야 할 것들은 다 챙긴 것 같은데 대체 어느부분이 틀렸는지
저는 도저히 감이 오지 않습니다 코딩 고수분들의 회초리 기다리고 있습니다.