728x90
반응형
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
📌 접근 방식
끝말잇기 규칙을 기반으로, 주어진 단어 배열을 순서대로 순회하며 가장 먼저 규칙을 어긴 사람을 찾아내는 문제입니다. 규칙은 크게 세 가지입니다:
- 이전 사람이 말한 단어의 마지막 글자로 시작해야 한다.
- 이미 말한 단어를 반복해서 사용할 수 없다.
- 단어는 두 글자 이상이어야 한다.
단어를 순회하면서 위 조건 중 하나라도 위반하면, 그 시점에서 탈락한 사람의 번호와 그 사람이 몇 번째 차례에서 탈락했는지를 계산해 반환하면 됩니다.
PASS CODE
import java.util.*;
class Solution {
public int[] solution(int n, String[] words) {
int[] answer = new int[2];
answer[0] = 0;
answer[1] = 0;
List<String> tmp = new ArrayList<>();
for(int i=0; i<words.length; i++) {
String str = words[i];
if(tmp.size()!= 0 && (tmp.get(tmp.size()-1).charAt(tmp.get(tmp.size()-1).length()-1) != str.charAt(0) || tmp.contains(str) || str.length() < 2) ) {
answer[0] = (i)%n + 1;
answer[1] = i/n + 1;
break;
} else {
tmp.add(str);
}
}
return answer;
}
}
728x90
반응형
'Coding Test > Programmers' 카테고리의 다른 글
[Java][Programmers] 기능개발 (0) | 2025.03.17 |
---|---|
[Java][Programmers] 연속 부분 수열 합의 개수 (1) | 2025.03.17 |
[Java][Programmers] N개의 최소공배수 (0) | 2025.03.17 |
[Java][Programmers] 귤 고르기 (0) | 2025.03.17 |
[Java][Programmers] 점프와 순간 이동 (0) | 2025.03.17 |