https://www.acmicpc.net/problem/9019
http://boj.kr/4143745bf62d475282a0799402dd0efd
http://boj.kr/68bf73d0348e4ad1ae0f8bb249142628
위에꺼는 시간초과이고 아래껀느 통과 된 코드에요
두 코드의 차이는 visited 리스트를 언제 True로 고쳐주냐 차이에요
첫 번째 코드는 visited[n] = True가 한 번이고, 두 번째 코드는 4번인데
그러면 두 번째 코드가 더 느려야 하지 않을까 하는 것이 제 생각입니다.
그런데 왜 첫 번째 코드가 시간초과인가요??
시간초과 난 코드 보니까 똑같은수들이 큐에 많이 쌓일것같음 통과된 코드는 큐에 숫자 넣을때 visit 갱신해줘서 큐에 똑같은수가 안들어가서 빠른듯
오 그런 경우가 있을 수 있겠네요... 감사합니다
두번째꺼가 재귀를 덜타잖음. 코드상으로는 4번이지만 들어가서 불려도 어차피 4번임
true 지나가고 나서도 바로 return 안되고 연산하는거도 있고
답변 감사합니다