-
[프로그래머스] 영어 끝말잇기_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}; } }
실행 결과
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 괄호 회전하기_Java (0) 2024.04.26 [백준] 30970 선택의 기로_Java (0) 2024.04.24 [프로그래머스] 큰 수 만들기_Java (0) 2024.04.23 [프로그래머스] 멀리 뛰기_Java (0) 2024.04.19 [프로그래머스] 문자열 압축_Java (0) 2024.04.18