

import java.util.HashSet;
class Solution {
public int[] solution(int n, String[] words) {
int[] answer = new int[2];
HashSet<String> usedWords = new HashSet<>(); // 이미 사용된 단어를 저장하는 HashSet
for (int i = 0; i < words.length; i++) {
// 이미 나온 단어면 종료
if (usedWords.contains(words[i])) {
answer[0] = (i % n) + 1; // 틀린 단어가 속한 턴
answer[1] = (i / n) + 1; // 틀린 단어의 차례
break;
}
usedWords.add(words[i]); // 현재 단어를 HashSet에 추가
// 다음 단어의 시작이 이전 단어의 끝과 일치하지 않으면 종료
if (i > 0 && words[i].charAt(0) != words[i - 1].charAt(words[i - 1].length() - 1)) {
answer[0] = (i % n) + 1; // 틀린 단어가 속한 턴
answer[1] = (i / n) + 1; // 틀린 단어의 차례
break;
}
}
return answer;
}
}
key-value쌍을 맞출 필요 없이 단순 데이터 집합으로 사용해서 HashSet을 사용
https://school.programmers.co.kr/learn/courses/30/lessons/12981