Algorithm/Programmers

[Lv.2] 영어 끝말잇기 : Java

say! 2026. 2. 3. 11:10
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