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

수경·2023년 2월 19일
0

problem solving

목록 보기
120/174

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

풀이

  • 중복이 없도록 Set사용
  • 끝말잇기 조건에 부합하는 지 확인 (앞 단어 마지막 문자 = 뒤 단어 첫 번째 문자)
  • 중복됐는지 확인 -> set.add()하기 전 set.size()와 add 후 size 비교
  • 틀린 사람의 번호와 몇 번째에서 틀렸는지 반환

코드

import java.util.*;

class Solution {
    public int[] solution(int n, String[] words) {
        Set<String> wordSet = new HashSet<>();
		int[] result = new int[2];

		wordSet.add(words[0]);
		for (int i = 1; i < words.length; i++) {
			String last = words[i - 1];
			if (last.charAt(last.length() - 1) == words[i].charAt(0)) wordSet.add(words[i]);
			if (wordSet.size() != i + 1) {
				result[0] = (i % n) + 1;
				result[1] = (i / n) + 1;
				break;
			}
		}

		return result;
    }
}
profile
어쩌다보니 tmi뿐인 블로그😎

1개의 댓글

comment-user-thumbnail
2023년 2월 27일

우와 대박!

답글 달기