728x90
입력, 출력값 맞게 넣었고 같은 값이고 로직도 맞는 것 같은데 틀리다고 나온다면...?
왜 틀렸는지 몰라서 난감할 것이다
이럴 때 한가지 해볼만한 추천 방법이 있다
구글링해서 해당 문제를 푼 다른 분들의 코드를 보고 이해한 후,
코드 로직에서 비슷한 부분이 꽤 있을 것이다.
해당 부분을 하나씩 바꿔서 정답 처리를 확인하면서 로직이나 코드 맞는지 틀린지 확인 가능해지면서
뭐가 틀리고 맞는지 확인이 가능하다.
예를들면,
내가 풀어낸 처음 코드는 아래와 같았는데
로직을 여러번 검산해봐도 맞는데 왜 아니라고 하는건지 입출력 값 다 확인해봐도 이해가지 않았다
if((min-45) < 0 ){
hour = hour-1;
min = min - 45 + 60;
if(hour < 0){
hour = hour + 24;
}
}
System.out.println(hour+" "+min);
다른 사람들의 코드 방식 찾아보니 아래와 같았는데
h=23나 M<45 같은 코드들이 좀 달라서
혹시 내가 놓친 다른 경우의 수가 있나 한 줄씩 대입해서 보니 다 정답 처리 되는 것이다
모든 라인을 하나 씩 해보니 그제서야 로직은 틀린게 없고
else로 첫 if문 조건이 아닌 경우의 수를 주어야하는 걸 깜빡한 것을 발견할 수 있었다
if(M < 45) {
H--;
M = 60 - (45 - M);
if(H < 0) {
H = 23;
}
System.out.println(H + " " + M);
}
else {
System.out.println(H + " " + (M - 45));
}
728x90
반응형
'코딩테스트' 카테고리의 다른 글
[코딩테스트][백준] Step2-6 2525번 : 오븐 시계 (0) | 2022.11.13 |
---|---|
[코딩테스트] Java의 콘솔에서 여러 줄 입력 읽기 (0) | 2022.11.12 |
[코딩테스트][백준] Step2-5 2884번 : 알람 시계 (0) | 2022.11.11 |
[코딩테스트][백준] Step2-4 14681번 : 사분면 고르기 (0) | 2022.10.10 |
[코딩테스트][백준] Step2-3 2753번 : 윤년 (1) | 2022.09.30 |