gudfla0814   5년 전

자바 시작한지 갓 한달된 초보입니다.

1057번 문제를 풀고있는데 계속 시간 초과가 나옵니다.

제 실력이 모자라서 아무리 찾아도 반례를 못 찾겠습니다.

도와주세요ㅠㅠㅠㅠ

divideTeam() 메소드는 전체 n명이 참가하는 경기의 최대 라운드를 반환하는 메소드입니다.

while문 안의 if문은 지민과 한수가 같은 조에 있는지를 검사하여 가장 상위 라운드(결승)(maxRound)에서 출발하여 if문이 거짓(같은 조에 있을 때)이 될때마다 한 라운드씩 아래로 내려가 두 사람이 최초로 다른 조가 되는 라운드를 출력하는 로직입니다.

hy10128   5년 전

20 3 4 해보면 1이 나와야하는데, 님 코드로 돌려보면 출력값이 나오지않습니다. 무한루프안에서 계속돌고있어 시간초과라고 나오는것입니다.

디버깅해보시면 아시겠지만 25번째줄에 divdeNum값 출력 코드를 넣어보세요. 0이여도 계속 진행됩니다 break가 정상적으로 작동못하고있어요.

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