문제
문제 풀이
자료구조를 사용하지 않고 입력 받은 배열 매개변수에서 바로 꺼내서 비교를 하는 방식으로 진행함.
나의 답안
public static int[] solution(int n, String[] words) {
int[] answer = {0, 1};
boolean flag = false;
for (int i = 1; i < words.length; i++) {
for (int j = i - 1; j >= 0; j--) {
if (words[i].equals(words[j]) || words[i].charAt(0) != words[i - 1].charAt(words[i - 1].length() - 1)) {
answer[0] = i % n + 1;
answer[1] = i / n + 1;
flag = true;
}
}
if (flag) {
break;
}
}
return answer[0] == 0 ? new int[]{0, 0} : answer;
}
다른 답안
자료구조를 활용한 답안이다.
import java.util.HashSet;
class Solution {
public int[] solution(int n, String[] words) {
int[] answer = new int[2];
HashSet<String> set = new HashSet<String>();
String prev = "";
set.add(words[0]);
for(int i = 1; i < words.length; i ++){
prev = words[i - 1];
if(set.contains(words[i]) || prev.charAt(prev.length() - 1) != words[i].charAt(0)){
answer[0] = i % n + 1;
answer[1] = (i / n + 1) ;
break;
}
set.add(words[i]);
}
return answer;
}
}