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
51
2
코딩살구클럽 가입 요청드립니다.
0
45
2
코딩살구클럽 채점 안됨
0
51
2
4-O 채점 관련 질문
0
42
2
코딩살구클럽가입
0
42
2
코딩살구클럽 가입
0
63
2
비쥬얼 스튜디오로 해도 되나요?
0
57
2
코딩살구클럽 가입 문의
0
74
2
코딩 살구 클럽 컴파일 에러
0
55
3
추천 문제
0
43
2
코딩살구클럽 승인
0
58
2
코살구 1주차 1940번 문제 조건과 프라이빗 테스트 불일치 문의
0
42
2
문제를 고민하는 시간 관련
0
37
2
코딩살구클럽
0
49
2
코딩살구클럽 문의
0
58
2
코딩살구클럽 승인
0
47
2
DP 경우의 수 설명이 이해가 되지 않습니다.
0
43
2
3-F 채점 관련 질문
0
41
1
BFS, DFS 활용이 되는 상황에서의 방향성
0
43
2
코딩살구클럽 승인
0
50
2
코딩살구클럽승인
0
46
3
코딩살구클럽 승인
0
70
2
3-D 관련 질문
0
37
2
코살구 회원가입 문의
0
49
2





