[프로그래머스] 영어 끝말잇기
Updated:
문제 URL
https://programmers.co.kr/learn/courses/30/lessons/12981
끝말잇기 문제다. 중복 구하기 위해서 HashSet을 사용하였다. 중복을 O(1)의 복잡도로 구할수있었다.
나의 풀이
import java.util.HashSet;
class Solution {
public static int[] solution(int n, String[] words) {
int[] answer = new int[2];
//중복검사를 위한 SET
HashSet<String> set = new HashSet<>();
set.add(words[0]);
for (int i = 1; i < words.length; i++) {
char preChar = words[i - 1].charAt(words[i - 1].length() - 1);
char currentChar = words[i].charAt(0);
//끝말잇기&중복검사
if (preChar != currentChar || set.contains(words[i])) {
answer[0] = i % n + 1;
answer[1] = i / n + 1;
break;
}
set.add(words[i]);
}
return answer;
}
}
Leave a comment