알고리즘 공부

[백준 2607번] 비슷한 단어 - java

철매존 2021. 5. 1. 14:47
728x90
반응형

문제 설명

1. 첫 번째로 입력받은 단어에 대해, 두번째부터 마지막까지 단어를 비교한다.

2. 비교할 두 단어들의 알파뱃을 비교한다.

3. 하나를 '바꾸거나, 없애거나, 추가하거나, 그래도 두었을 때' 모든 알파뱃이 같으면 비슷한 단어이다.

4. 비교하여 비슷한 단어의 수를 구해 return하면 된다.

 

 

풀이 과정

 1. 구현 자체는 간단하지만, 생각해야 하는 경우의 수가 많다.

 2. 기본 가정은 두 단어 중 긴 쪽을 기준으로, 하나를 바꾸거나 없애거나 추가하거나 그대로 두어 비슷한 단어가 만들어지면 된다.

 

가정

 1. 양쪽 단어의 길이가 차이가 난다면, 긴 쪽을 기준으로 생각하여야 한다. 

 2. 긴 쪽을 기준으로 위의 변환 과정을 거치려면 ( 긴 단어의 길이-1 )의 개수 만큼은 같은 단어여야 할 것이다.

 3. 똑같은 알파뱃이 여러 번 나타나는 경우도 생각해 주어야 한다.

 

 

코드

 

반응형