하루에 한 문제
[프로그래머스-lv2 Summer/Winter Coding(~2018)]영어 끝말잇기 -Java 본문
알고리즘/프로그래머스 lv2 다시풀기
[프로그래머스-lv2 Summer/Winter Coding(~2018)]영어 끝말잇기 -Java
dkwjdi 2021. 3. 17. 00:29https://programmers.co.kr/learn/courses/30/lessons/12981
import java.util.Arrays;
import java.util.HashSet;
class Solution {
public int[] solution(int n, String[] words) {
int[] answer = {0,0};
int no=1;
int turn=1;
HashSet<String> check = new HashSet<>();
char lastChar=words[0].charAt(0);
for(int i=0; i<words.length; i++) {
String word=words[i];
if(lastChar!=word.charAt(0) || check.contains(word)) {
answer[0]=no;
answer[1]=turn;
break;
}
lastChar=word.charAt(word.length()-1);
check.add(word);
if(no++==n) {
no=1;
turn++;
}
}
return answer;
}
}
소요시간 : 11분
로직은 간단합니다.
우선 단어의 중복을 확인하기 위해 HashSet을 사용했습니다.
그리고 lastChar에 각 단어의 마지막 단어를 저장하고
새로운 단어가 왔을 때 lastChar와 현재 단어의 0번째를 비교합니다.
딱히 설명할 게 없는 문제라고 생각합니다.
끝~
'알고리즘 > 프로그래머스 lv2 다시풀기' 카테고리의 다른 글
[프로그래머스-lv2] 이중우선순위큐 -Java (0) | 2021.03.19 |
---|---|
[프로그래머스-lv2 2019 KAKAO BLIND RECRUITMENT] 후보키 -Java (0) | 2021.03.18 |
[프로그래머스-lv2 2018 KAKAO BLIND RECRUITMENT] 압축 -Java (0) | 2021.03.16 |
[프로그래머스-lv2 2018 KAKAO BLIND RECRUITMENT] 파일명 정렬 -Java (0) | 2021.03.16 |
[프로그래머스-lv2 2018 KAKAO BLIND RECRUITMENT] 방금그곡 -Java (0) | 2021.03.16 |
Comments