메이쁘

(JAVA) 백준 16934번 : 게임 닉네임 --- [트라이] 본문

Algorithm/Baekjoon

(JAVA) 백준 16934번 : 게임 닉네임 --- [트라이]

메이쁘 2020. 10. 4. 01:35

www.acmicpc.net/problem/16934

 

16934번: 게임 닉네임

첫째 줄에 가입한 유저의 수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 유저의 닉네임이 가입한 순서대로 한 줄에 하나씩 주어진다. 닉네임은 알파벳 소문자로만 이루어져 있고, ��

www.acmicpc.net

 

안녕하세요.

 

트라이 알고리즘 문제입니다.

 

 

트라이 알고리즘의 구조와 원리를 알면 쉽게 접근하실 수 있습니다.

 

 

몇 가지 유의할 점이 있다면,

 

  -  새로운 단어를 삽입할 때 이전 삽입한 단어들과 비교하면서 같은 접두사의 최대 길이를 파악해야합니다.

  

  -  완전히 같은 단어가 존재하는지 안하는지 체크해야합니다. 이를 위해 TrieNode 내에 count 라는 int 변수를 만들어 이를 활용합니다.

 

  -  위와 마찬가지로, 완전히 같은 단어가 몇 개 존재하는지도 체크해야 하기 때문에, count 값을 확인하여 별칭 끝에 추가합니다.

또한, 같은 단어가 1개이면 그 단어를 별칭으로 사용하는것도 잊지 마시고!

 

  -  같은 단어가 존재할 경우, 개수를 변경하는 것도 잊지 마시고!

 

 

 

이 외에 딱히 큰 매커니즘이 없기 때문에

 

좀 더 궁금하신 사항이나 자세한 부분은 소스코드 참고해주세요!!

댓글도!

 

 

이상입니다.

감사합니다.

 

 

소스코드


 

Comments