강의로 돌아가기
김규일

문제 풀 때 문자 비교 방법 (1번 케이스 문제일 경우)

문제를 풀 때 제일 처음 생각난 방법을 사용했습니다.

begin = "hit";
words = { "hot", "dot", "dog", "lot", "log", "cog" };

위의 경우 한 글 자만 변경해서 words에 포함이 되는지를 비교 해야 됩니다.
begin중 어떤 글자를 변경할지 모르니 begin의 문자열 index만큼 확인을 해야 됩니다.

이때 string이기 때문에 문자열을 지우고 나머지 글자만 포함되는지 비교하면 됩니다.
index =0 인경우 begin = "it" words = { "ot", "ot", "og", "ot", "og", "og" }; / 변경가능한 문자가 없음을 알 수 있습니다.
index =1 인경우 begin = "ht" words = { "ht", "dt", "dg", "lt", "lg", "cg" }; / 변경가능한 문자가 "ht" 즉 "hot" 을 알 수 있습니다.

그렇다면 다음번 문자를 비교할 때 begin은 "hot"이 될것이고, "hot" 을 선택하였기 때문에 해당 문자를 제외한
words = { "dot", "dog", "lot", "log", "cog" }; 만 비교하면 됩니다.

이렇게 비교하면서 begin이 target과 같아진다면 그 만큼의 변경 횟수 기억해서 비교를 하시면 됩니다.

[1번 케이스가 문제인 경우]
위에서 begin의 문자를 words의 배열에서 제거를 해야되는 점을 생각해 주시면 됩니다.
즉 처음부터 words에 begin 이 있는 경우를 배제 해주어야 합니다.

0 개의 답변
답변 쓰기
This input form supports markdown syntax. Please refer to 마크다운 가이드.