티스토리 뷰

728x90

문제링크

 

 

문제 풀이 과정

효율성을 통과하기 위해서 HashMap 을 사용하여 문제를 접근 하였다.

HashMap 의 key 는 현재 지정한 방 번호이며, value 값은 현재 지정한 방의 다음 위치를 나타낸다.

 

예약하고자 하는 방의 번호가 예약 되었는지 여부를 containsKey 를 통해서 빠르게 찾을 수 있다.

키가 존재 하면 이미 예약된 방이며, 키가 없다면 예약이 가능하다.

 

이 문제는 재귀방식으로 코드를 작성해야지 효율성 테스트를 통과할 수 있다.

처음에는 재귀 방식이 아닌 반복문으로 작성 하였는데 정확성은 맞지만, 효율성에서 모두 다 통과하지 않는 상황이 생긴다.

 

전체코드

 

 

 

728x90