목록전체 글 (44)
시간이 NullNull
주요 포인트! 1. 09:00 부터 n회 t분 간격으로 역에 도착한다. 나의 경우 09:00 부터라는 것을 제대로 못봐 문제가 이해가 되지 않아 한참동안 고민을 하였다. 2. m명을 태우면 더이상 태울 수 없다 ( 단, 기다리고 있는 줄은 유지된다. ) 이를 기준으로 나는 그냥 단순히 09:00 부터 각 셔틀버스마다 태울 수 있는 만큼 태우자 그리고 끝난 뒤에 1. 마지막 버스에 m명이 가득 차 있다면 마지막에 탄사람보다 1분 일찍오자! 2. 마지막 버스에 자리가 빈다면 마지막 버스가 도착할 시점에 오도록 하자! 이를 구현하기 위해서 우선 크루들이 도착하는 시간을 오름차순으로 정렬해야한다. 그래야 시간 순으로 버스에 태울 수 있기 때문이다. 그리고 시간 계산과 대소관계 비교를 원활하게 하기 위해서 시간 ..
문제를 쉽게 설명하면 1. go, gone, guild 라는 String 배열이 주어지면 이를 학습시킨다. 2. g를 입력하였을때 go와 gone가 나오므로 한번에 자동완성이 안된다. 3. 하지만 go 까지 하면 문자가 다 ( 자동 ) 완성이 되었다. 4. gon까지 입력시 gon으로 시작하는 문자는 gone 뿐이므로 gone을 완성시켜준다. 5. gu까지 입력시 gu로 시작하는 문자는 guild 이기때문에 guild를 완성시켜준다. 따라서 g + o + g + o + n + g + u 가 되어 7번 입력시 문자가 전부 자동완성 된다. 이를 풀기 위해서 지난번에 소개했던 Trie 알고리즘을 썼으며 1. 문자가 주어지면 Trie 트리를 만들고 2. 다음번에 문자 하나씩 읽으면서 ( 자동 ) 완성이 될때까지..
Trie로 검색 혹은 이 글을 보러 오신 분은 전화번호 목록에 대해서 알 것이라고 생각하고 문제 설명은 넘어가겠습니다. 그리고 sort의 경우 본인이 구현하셔도 상관없지만 이 글에서 Point의 경우 Trie 이기에 라이브러리를 활용하였습니다. ( 그리고 sort의 경우 해주지 않으면 9112 다음에 911이 들어오면 문제가 발생하여 sort 해주었습니다. ) Trie의 개념의 경우 제가 이전에 써두었던 글을 참고하시면 더 이해가 잘 가실 것 같습니다. 글 링크 따윈 저는 상남자니까 걸어두지 않을께요 이 문제는 저번 문제와 다르게 번호가 들어왔을때 ( 예를 들어, 911 이 입력되었고 다음줄에 9112가 들어오면 ) 911 때문에 isTerminal이 true 인 상황에서 현재 자식노드의 2번 이 nul..