상세 컨텐츠

본문 제목

[프로그래머스] 영어 끝말잇기

💯ProblemSolving/문제 풀이-Java

by :부셔져버린개발자 2024. 12. 9. 11:06

본문

       문제 요약        

- 문제

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

         아이디어        

한 상자에 담으려는 귤의 개수 k와 귤의 크기를 담은 배열 tangerine

         소스코드        

 

import java.util.*;
class Solution {
    static int loser = 0;
    static int cnt = 0;
    static Set<String> prevWords;
   
    public int[] solution(int n, String[] words) throws Exception {
        prevWords = new HashSet<>();
        prevWords.add(words[0]); // 첫번째 단어 무조건 포함
        for(int w = 1; w < words.length; w++) {
            String prev = words[w-1];
            if(prev.charAt(prev.length()-1) == words[w].charAt(0)) { // 이전 단어의 맨 마지막이랑 비교 
                if(prevWords.contains(words[w])) {
                    loser = w % n + 1;
                    cnt = (w + 1) / n + ((w+1) % n == 0? 0 : 1);
                    break;
                } else {
                    prevWords.add(words[w]);
                }
            } else {
                loser = w % n + 1;
                cnt = (w + 1) / n +  ((w+1) % n == 0? 0 : 1);
                break;
            }
        }
        if(loser == 0) {
            return new int[]{0, 0};
        }
        return new int[]{loser, cnt};
    }
}



 

728x90

관련글 더보기