import java.util.HashSet;
import java.util.Set;
class Solution {
public int[] solution(int n, String[] words) {
int[] answer = {0,0};
Set<String> set = new HashSet<>();
//중복제거
set.add(words[0]);
for(int i = 1; i< words.length; i++) {
set.add(words[i]);
if(set.size() != (i+1) || (words[i-1].charAt(words[i-1].length()-1) != words[i].charAt(0))) {
System.out.println(i);
if((i+1)%n == 0) {
answer [0] = n;
answer [1] = (i+1)/n;
}else {
answer [0] = (i+1)%n;
answer [1] = ((i+1)/n)+1;
}
break;
}
}
return answer;
}
}
다른 풀이를 보고 얻은 것 )
set은 .add()할 때 중복이 있을 경우 false를 return 한다
idx 를 나처럼 +1 하지않고 간단하게 idx % n +1 , idx / n +1 로 구함.
set말고 list로 contains 를 사용한 경우도 있었음.
잡담)
코딩테스트는 객체의 특성을 공부해야겠다는 생각이 든다.
실무를 하다보면 쓰는것만 써서 안쓰건 다 까먹게 된다..
핑계 그만대고 초심 찾고 객체 열심히 공부해서 코테에서 야무지게 써먹어주마 !