[Programmers / Level 2] 12981. 영어 끝말잇기 (Java)

이하얀·2025년 1월 5일
0

🕊️ 프로그래머스

목록 보기
87/97

💡 Info




입출력 조건




입출력 예시




문제 이해


  • 주어진 words 배열에서 끝말잇기가 올바르게 진행되지 않은 순간을 찾고, 해당 사람의 번호와 회차를 반환하면 되는 문제


알고리즘


풀이 시간 : 25분

  • 중복 단어 체크
    • Set으로 등장한 단어 체크
    • add 메서드 -> 단어가 이미 있으면 false를 반환
  • 끝말잇기 규칙 체크
    • 현재 단어의 첫 글자와 이전 단어의 마지막 글자가 일치하는지 확인
  • 규칙 위반 : 해당 사람의 번호와 회차 반환
import java.util.*;

class Solution {
    public int[] solution(int n, String[] words) {
        Set<String> usedWords = new HashSet<>();
        for (int i = 0; i < words.length; i++) {
            if (!usedWords.add(words[i]) || (i > 0 && words[i - 1].charAt(words[i - 1].length() - 1) != words[i].charAt(0))) {
                return new int[]{(i % n) + 1, (i / n) + 1};
            }
        }
        return new int[]{0, 0};
    }
}


결과

profile
언젠가 내 코드로 세상에 기여할 수 있도록, BE&Data Science 개발 기록 노트☘️

0개의 댓글

관련 채용 정보