프로그래머스 - 영어 끝말잇기
풀이
- 중복이 없도록 Set사용
- 끝말잇기 조건에 부합하는 지 확인 (앞 단어 마지막 문자 = 뒤 단어 첫 번째 문자)
- 중복됐는지 확인 -> set.add()하기 전 set.size()와 add 후 size 비교
- 틀린 사람의 번호와 몇 번째에서 틀렸는지 반환
코드
import java.util.*;
class Solution {
public int[] solution(int n, String[] words) {
Set<String> wordSet = new HashSet<>();
int[] result = new int[2];
wordSet.add(words[0]);
for (int i = 1; i < words.length; i++) {
String last = words[i - 1];
if (last.charAt(last.length() - 1) == words[i].charAt(0)) wordSet.add(words[i]);
if (wordSet.size() != i + 1) {
result[0] = (i % n) + 1;
result[1] = (i / n) + 1;
break;
}
}
return result;
}
}
우와 대박!