words 배열을 탐색하면서 탐색한 문자열을 Set에 계속 저장한 뒤, 탐색할 때 마다 Set에 저장이 되어있는지를 검사해 중복된 단어를 걸러주었다.
import java.util.*;
class Solution {
public int[] solution(int n, String[] words) {
int[] answer = {};
int cnt = 1;
Set<String> set = new HashSet<>();
set.add(words[0]);
for(int i=1; i<words.length; i++) {
if(set.contains(words[i])) break;
if(words[i].charAt(0)==words[i-1].charAt(words[i-1].length()-1)) {
set.add(words[i]);
cnt++;
}
else break;
}
if(cnt==words.length) answer = new int[] {0,0};
else answer = new int[] {cnt%n+1, cnt/n+1};
return answer;
}
}
진짜 천재인가 answer[cnt%n+1] 하는 발상도 신기하고
n번쨰 단어를 구할떄도 cnt/n+1 를 하다니.. 벽느껴진다..