나의풀이
import java.util.*;
class Solution {
public int[] solution(int n, String[] words) {
int[] answer = new int[2];
int turn = 0;
List<String> wordList = new ArrayList<>();
wordList.add(words[0]);
for (int idx = 1; idx < words.length; idx++) {
if (words[idx - 1].charAt(words[idx - 1].length() - 1) != words[idx].charAt(0)) {
turn = idx;
break;
}
if (wordList.contains(words[idx])) {
turn = idx;
break;
}
wordList.add(words[idx]);
}
answer[0] = turn % n + 1;
answer[1] = turn / n + 1;
if (turn == 0) {
answer[0] = 0;
answer[1] = 0;
}
return answer;
}
}
▶ 포함여부를 확인 할때 contains() 메서드를 사용하면 아주 유용하다.
▶ answer[0] = turn % n + 1은 인덱스 즉 사람의 번호를 의미한다.
▶ answer[0] = turn / n + 1은 각 사람의 "차례"를 의미한다.
'프로그래머스(자바) > LV.2(자바)' 카테고리의 다른 글
1차 캐시→ 익명 클래스★★, this참조변수, super() 생성자 (0) | 2022.12.26 |
---|---|
N개의 최소 공배수→ 연쇄 법칙 (겹치지X) + stack이용 (0) | 2022.12.24 |
짝지어 제거하기→'문자비교' == , "문자열비교" equals, peek()★★+크레인 인형뽑기와 유사 (0) | 2022.12.24 |
카펫→ 리스트 배열넣기, 리스트 출력★★ (0) | 2022.12.24 |
다음 큰 숫자→'문자열'에서 특정 요소 개수 세기(replace)★★ (0) | 2022.12.24 |