728x90
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
#몇 번째 사람인지
i=0부터 시작하고 사람 수 n일 때 => (i%n) + 1
#몇 번째 차례인지
i=0부터 시작하고 사람 수 n일 때 => (i/n) + 1
import java.util.*;
class Solution {
public int[] solution(int n, String[] words) {
Map<Integer, Integer> turn = new HashMap<>();
ArrayList<String> wlist = new ArrayList<>();
wlist.add(words[0]);
// 가장 먼저 탈락하는 사람의 번호, 그 사람이 자신의 몇 번째 차례에 탈락하는지
for(int i=1; i<words.length; i++){
String w = words[i];
// 중복되는 단어인지 확인
if(wlist.contains(w)){
// 탈락
return new int[]{(i%n)+1, (i/n)+1};
}
// 끝말잇기 된건지 확인
String p = wlist.get(i-1);
if(p.charAt(p.length()-1) != w.charAt(0)){
return new int[]{(i%n)+1, (i/n)+1};
}
wlist.add(w);
}
// 탈락자 없으면 [0,0] 리턴
return new int[]{0,0};
}
}'Algorithm > Programmers' 카테고리의 다른 글
| [Lv.2] 구명보트 : Java (0) | 2026.02.03 |
|---|---|
| [Lv.2] 오픈채팅방 : Java (0) | 2026.02.03 |
| [Lv.2] 귤 고르기 : Java / HashMap 함수 (0) | 2026.02.02 |
| 💚[Lv.2] 짝지어 제거하기 : Java (0) | 2026.01.30 |
| [Lv.2] 다음 큰 숫자 : Java (0) | 2026.01.30 |