[프로그래머스] 절대 외부 IDE를 써선 안돼/Java

[lv2] 영어 끝말잇기

SH3542 2024. 11. 19. 21:10

https://school.programmers.co.kr/learn/courses/30/lessons/12981

 

단순 구현 문제다.

 

출력 값인

[탈락한 사람 번호, 몇 번째에 탈락 했는지] 수식 i를 통해 잘 놓아야 한다.

 

import java.util.*;

class Solution {

    Set<String> check = new HashSet<>();
    int n;
    String[] words;

    int[] solve() {

        // 이전 사람이 말한 마지막 글자
        // 초기엔 true 인 값
        char prevEnd = words[0].charAt(0);

        for(int i=0; i<words.length; i++) {

            String word = words[i];

            // 현재 사람이 말한 첫 글자
            char nowFirst = word.charAt(0);


            // 한 글자인 단어는 인정되지 않습니다 고려x => 단어의 길이는 2 이상 50 이하입니다.
            if(prevEnd != nowFirst || check.contains(word)) {
                return new int[]{(i % n) + 1, i / n + 1};
            }

            check.add(word);
            prevEnd = word.charAt(word.length() - 1);
        }

        return new int[]{0, 0};
    }

    public int[] solution(int n, String[] words) {

        this.n = n;
        this.words = words;

        return solve();
    }
}