kce0206   5년 전

아무리 생각해도 왜 시간초과가 뜨는지 모르겠어요..

어디서 무한루프가 도는건가 싶었는데

그냥 로직이 너무 비효율적인 로직이었던건지...

이틀동안 이것만 붙잡고 있네요...

kce0206   5년 전

자답합니다.

  1. 기존 count() 함수가 시간을 많이 잡아먹는거 같아서

없애고 balance를 도는 와중에 res를 증가시키도록 수정했습니다.

2. heavy[1]에 2가 존재하는 경우 heavy[2]에 4가 존재하는 것을 확인하고 4를 heavy[1]에 추가한다고할떄

heavy[1]에 원래 4가 존재하는 상황이었다면(예시 인풋에는 존재하지 않지만) 

4에 대한 balance를 중복해서 실행하는 것을 알 수 있었습니다. 그래서 bal 변수를 추가해서 중복하지 않도록 수정했습니다.

이렇게 하니 시간초과는 뜨지 않는데 틀렸습니다가 뜨네요..ㅎㅎ

아래는 수정된 코드입니다.

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