4-B 1285 질문 있습니다!
안녕하세요 선생님! ㅎㅎ
저는 고의로, 시간 초과가 나는 코드를 아래와 같이 작성해보았습니다. (주석은 테스트했던 흔적)
http://boj.kr/c3476a1df6d647de81b2d85f187f35e0
그러나 제 기대와는 달리, 시간 초과가 나지 않고
1%에서 바로 '틀렸습니다' 가 뜨더라고요.
이 말은 즉 코드 자체의 로직이 잘못되어 테스트케이스를 통과하지 못하는건데 그 이유가 뭔지 잘 안 찾아져서 여쭤보러 왔어요.
(count세는 함수, arr의 뒤집기 등이 잘 안 동작하는지 확인해봤는데 다 잘 동작하는 것 같아서 더 의문이에요)
어떤 부분이 잘못되었길래, 아예 테스트케이스를 통과하지 못하는 것일까요..?
답변 2
0
안녕하세요 케이님 ㅎㅎ
for(ll i = 0; i < (1 << (2*n)); i++){이부분 때문에 그렇습니다.
이거는 int타입이 되기 때문에 오버플로우가 발생합니다.
int minCount = 987654321;
for(ll i = 0; i < 1LL << 2 * n; i++){이렇게 해보시겠어요? long long 으로 타입변환을 해야 합니다.
이걸 제출하면 -> 시간초과가 올바르게 뜨는 것을 볼 수 있습니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴입니다. K케이님.
시간 초과 대신 ‘틀렸습니다’ 에러를 받으셨다는 것은 코드의 논리 자체에 문제가 있을 가능성을 제기합니다. 일반적으로 사람들은 이러한 경우에서 특정 조건이나 로직이 충분히 커버되지 못해서 발생한다고 할 수 있습니다.
로직 검토: 먼저, 로직이 문제의 요구사항을 정확히 구현하는지 확인이 필요합니다. 경우에 따라 boundary condition이나 edge case를 처리하지 못했을 수 있습니다.
코드 디버깅: 문제를 해결하기 위해 각 부분에 대한 디버깅이 필요합니다. 특히,
count함수를 위해서는 조건이 정확히 처리되고 있는지 확인해야 합니다. 예를 들어, 뒤집기 과정에서 데이터가 올바르게 변경되고 있는지 확인해야 합니다.테스트 케이스: 직접 작성한 테스트 케이스를 통해 코드가 올바르게 동작하는지 확인하시기 바랍니다. 시간을 초과하지 않는 범위 내에서 여러 가지 매개변수를 사용하여 다양한 시나리오를 고려해 보세요.
구문 점검: 수많은 조건문과 반복문 안의 작은 실수가 전체 결과를 망칠 수 있으므로, 모든 구문에서 작은 오타나 논리적 오류를 찾으세요.
아래는 일부 참고하실 수 있는 질문과 답변 링크입니다:
이 점들을 개선하시고도 문제가 계속 될 경우, 추가적인 질문을 주시면 더 구체적인 부분을 다루도록 하겠습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
코딩 살구클럽 가입 문의
0
55
2
코딩살구클럽 가입문의
0
60
2
3-K private case 질문
0
59
2
안녕하세요. 코딩살구클럽 문의드립니다!
0
73
2
7:41 듣다가 질문합니다
0
69
2
코드 리뷰 요청드립니다!
0
74
2
코딩살구클럽 계정 문의
0
74
2
SK하이닉스 대비 강의수강
0
206
3
코딩살구클럽 등록부탁드립니다.
0
71
2
7-F 재귀로 풀시 런타임애러
0
69
1
1-N 문제 질문입니다. (+ 채점오류)
0
81
2
코딩살구클럽 가입 확인 부탁드립니다.
0
85
2
직장인 코테 합격 공부방법 문의
0
115
2
코딩살구클럽 가입 방법
0
91
2
6-H 체점 관련 질문
0
74
1
채점서버 연결 관련 질문입니다
0
99
2
삼성 s직군
0
88
1
삼성 코테 없어짐
0
208
1
코딩살구클럽 가입부탁드립니다
0
87
2
코딩살구클럽 가입 요청 확인부탁드립니다
0
67
2
5-S 테스트 케이스 질문
0
73
2
코살 문제풀이 환경
0
85
2
2 - T 오큰수 문제가 있는 것 같습니다.
0
77
1
추천 추가문제들
0
71
2





