하루에 한 문제
[프로그래머스 Summer/Winter Coding] 영어 끝말잇기 -Java 본문
https://programmers.co.kr/learn/courses/30/lessons/12981
import java.util.HashSet;
import java.util.Set;
class Solution {
public int[] solution(int n, String[] words) {
int[] answer = new int[2];
Set<String> set = new HashSet<>();
char pre=words[0].charAt(0);
int no=-1;
int cnt=1;
loop: for (int i = 0; i < words.length;) {
for (int j = 0; j < n; j++) {
String cur=words[i];
if (set.contains(cur) || cur.charAt(0)!=pre) { // 틀림
no=j+1;
break loop;
}
set.add(cur);
pre=cur.charAt(cur.length()-1);
i++;
}
cnt++;
}
answer[0]= no<0? 0 : no;
answer[1]= no<0? 0 : cnt;
return answer;
}
}
소요시간 : 17분
끝말잇기의 중복을 체크하기 위해 Set을 사용했습니다.
pre라는 변수에 이전 문자의 끝문자를 저장해서 지금 문자의 가장 앞부분과 비교하여 끝말이 이어지는지 확인했습니다
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 2017팁스타운]예상 대진표 -Java (0) | 2020.12.17 |
---|---|
[프로그래머스] 최솟값 만들기 -Java (0) | 2020.12.17 |
[프로그래머스 2017 팁스다타운] 짝지어 제거하기 -Java (2) | 2020.12.17 |
[프로그래머스] 타켓 넘버 -Java (0) | 2020.12.17 |
[프로그래머스 Summer/Winter Coding] 소수 만들기 -Java (0) | 2020.12.17 |
Comments