일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- background setInterval
- Render Props
- React API 참고서
- Nextjs React 18
- codingtest
- react
- RTK Query
- React 18 Nextjs
- react hook
- React 18
- Next13
- notFound()
- background setttimeout
- CSS
- Javascript
- React 고급 안내서
- context
- 고급안내서
- hook
- Babel
- getUTCDate
- Nextjs
- react-helmet
- background tab
- React18
- Programmers
- React 고급안내서
- background: url
- React 공식문서
- next13 head
Archives
- Today
- Total
akjfal
[Programmers] 영어 끝말잇기 본문
.
// answer : 가장 먼저 탈락하는 사람의 번호, 자신의 몇 번째 차례에서 탈락했는지
// 만약 탈락자가 없다면 [0, 0]
// 2 <= n <= 10
// n <= word <= 100
// 2 <= word.length <= 50
// all is lowercase
// 1. 체크한 word hash에 넣기
// 2. 이전 index단어의 마지막 단어와 현재 단어 앞단어와 일지하는지 확인
// 3. 중복확인
import java.util.HashMap;
class Solution {
public int[] solution(int n, String[] words) {
int[] answer = {0, 0};
int idx = 0;
HashMap<String, Integer> map = new HashMap<>();
String preWord = words[0];
String nowWord = "";
for(int i = 1; i < words.length; i++){
nowWord = words[i];
if(preWord.charAt(preWord.length()-1) != nowWord.charAt(0) || map.containsKey(nowWord)){
idx = i;
break;
}
map.put(preWord, 0);
preWord = nowWord;
}
if(idx != 0){
answer[0] = idx % n + 1;
answer[1] = idx / n + 1;
}
return answer;
}
}
딱히 어려운점 없는 문제였다.
'알고리즘 > programmers' 카테고리의 다른 글
[Programmers] 2개 이하로 다른 비트 (0) | 2021.06.18 |
---|---|
[Programmers] [1차] 프렌즈4블록 (0) | 2021.06.18 |
[Programmers] 배달 (0) | 2021.06.18 |
[Programmers] 후보키 (0) | 2021.06.18 |
[Programmers] 순위 검색 (0) | 2021.06.17 |
Comments