코딩테스트
[프로그래머스] 영어 끝말잇기_Java
오류유발자
2024. 4. 22. 11:06
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12981
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 풀이
1. n명의 사람이 번갈아가며 words의 단어를 말하며, words의 순서는 바꿀 수 없다.
2. n번째 사람 다음 순서는 1번째 사람이다.
3. 중복되는 단어는 허용하지 않는다.
4. 첫 알파벳이 이전 사람의 단어의 마지막 알파벳과 동일해야한다.
5. 끝말잇기에 실패한 사람의 번호와 차례를 return한다.
6. 실패한 사람이 없는 경우 [0, 0]을 return한다.
코드
import java.util.Set;
import java.util.HashSet;
class Solution {
public int[] solution(int n, String[] words) {
Set<String> set = new HashSet();
char startChar;
for(int i =1; i<words.length ;i++){
if(set.contains(words[i]) || startChar != words[i].charAt(0))
return new int[]{i%n+1,i/n+1};
set.add(words[i]);
startChar = words[i].charAt(words[i].length()-1);
}
return new int[]{0,0};
}
}