js로 알고리즘 풀다가 시간초과 나올 때
js로 알고리즘 풀다가 시간초과 나올 때(console.log 관련) 왜 시간초과가 나오니… 백준에서 알고리즘 문제를 푸는데 시간초과로 정답 통과가 안되는 상황이 발생했다.
로직적인 문제인건지 계속 생각해보며 코드 수정을 했는데 시간이 좀 오래 걸릴만한 테스트 케이스로 테스트 해보니
뭔가 터미널에 로그가 늦게찍히는 느낌이 들었다. 전에 python으로 백준에서 문제를 풀 때 을 사용할 때 너무 느려서
을 사용해서 해결한 적이 있었기에 설마 js에서도 비슷한 문제인건지 찾아봤는데 역시 가 너무 느려서 시간초과가 일어난거였다! 이렇게 하고 값을 4, 5정도만 해보고 괜찮은 것 같아서 제출했었는데 20으로 테스트하게 되면 가 백만번 이상 호출되었기 때문에 시간초과가 일어나게 된 것이었다. 해결방법 #1 때문에 속도가 느려졌으니 로 한 번에 모두 출력하기 위해서 array를 따로 만들고 거기에 출력들을 전부다 집어넣어서 join메서드를 활용해서 출력했다! 이렇게 해서 제출해보니 일단 통…