영어 끝말잇기

공부한것 다 기록해·2023년 8월 4일
0

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

제한사항
1. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다.
2. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다.
3. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다.
4. 이전에 등장했던 단어는 사용할 수 없습니다.
5. 한 글자인 단어는 인정되지 않습니다.

5번은 애초에 값이 들어올때 한단어가 들어오지 않기 때문에 굳이 적용해줄 필요가 없다.

제한사항 순서대로 코드에 그대로 적용
(1) 중복검사
(2) 끝말잇기 검사

public int[] solution(int n, String[] words) {
        int[] answer = new int[]{0,0};

        ArrayList<String> list = new ArrayList<>(); // list 만들어서

        for (int i = 0; i < words.length; i++) {
            if(list.contains(words[i])){ // 중복검사해줭~
                answer[0] = i % n + 1;
                answer[1] = i / n + 1;
                break;
            }

            list.add(words[i]); // 단어 넣어주기

            if(i > 0 && words[i].charAt(0) != words[i-1].charAt(words[i-1].length()-1)){ // 끝말잇기 비교
                answer[0] = i % n + 1;
                answer[1] = i / n + 1;
                break;
            }
        }

        return answer;
    }

번호 : i % n + 1
차례 : i / n + 1

0개의 댓글