728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12981
728x90
메모리: 74.4 MB, 시간: 0.15 ms
사용 알고리즘: 문자열
import java.util.*;
class Solution {
public int[] solution(int n, String[] words) {
int[] answer = new int[2];
// 나왔던 단어를 담아두는 set
Set<String> isUsed = new HashSet<>();
isUsed.add(words[0]);
char[] word = words[0].toCharArray();
// 이전 단어의 마지막 문자
char last = word[word.length - 1];
for(int i = 1; i < words.length; i++) {
word = words[i].toCharArray();
// 앞사람이 말한 단어의 마지막 문자로 시작하지 않은 경우나
// 이전에 등장했던 단어를 사용한 경우
if(last != word[0] || isUsed.contains(words[i])) {
answer[0] = i % n + 1; // 틀린 사람
answer[1] = i / n + 1; // 차례
break;
}
else {
last = word[word.length - 1];
isUsed.add(words[i]);
}
}
return answer;
}
}
728x90
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스, 67258] [카카오 인턴] 보석 쇼핑 (java) (0) | 2024.08.26 |
---|---|
[프로그래머스, 131530] 가격대 별 상품 개수 구하기 (mysql) (0) | 2024.08.25 |
[프로그래머스, 12919] 서울에서 김서방 찾기 (java) (0) | 2024.08.24 |
[프로그래머스, 42894] 블록 게임 (java) (0) | 2024.08.23 |
[프로그래머스, 64064] 불량 사용자 (java) (0) | 2024.08.21 |