다희의 코딩 성장일기
[프로그래머스] level2. 영어 끝말잇기 (자바 JAVA) 본문
[ 문제 ] [프로그래머스] level2. 영어 끝말잇기 (자바 JAVA)
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/12981
# 접근 방법 및 풀이
- 끝말잇기에서 중복단어는 HashSet을 이용해서 처리해주고, 나머지는 문제 그대로 구현하면 된다.
- int number은 참여 순서고 1부터 시작한다. int turn은 차례고 1 첫번째 차례부터 시작한다.
- char last는 단어 끝의 문자로, words[i]번째의 첫번째 문자와 비교한다.
- char last = words[0].charAt(0)으로 첫번째 단어의 첫문자로 초기화해주고, for문을 돌면서 words[i]의 끝 글자로 갱신해준다.
- 자세한건 코드참조
# 주의할 점
- 딱히 없음
JAVA 코드
import java.util.*;
class Solution {
public int[] solution(int n, String[] words) {
int[] answer = new int[2];
int number = 1;
int turn = 1;
HashSet<String> set = new HashSet<String>();
char last = words[0].charAt(0);
for (int i = 0; i < words.length; i++) {
String s = words[i];
if (set.contains(s) || s.charAt(0) != last) {
answer[0] = number;
answer[1] = turn;
break;
}
last = s.charAt(s.length() - 1);
set.add(s);
number++;
if (number > n) {
number = 1;
turn++;
}
}
return answer;
}
}
REVIEW
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] level2. 튜플 (자바 JAVA) (0) | 2021.08.26 |
---|---|
[프로그래머스] level2. 방문 길이 (자바 JAVA) (0) | 2021.08.25 |
[프로그래머스] level2. 신규 아이디 추천 (자바 JAVA) (0) | 2021.08.25 |
[프로그래머스] level2. 스킬트리 (자바 JAVA) (0) | 2021.08.25 |
[프로그래머스] level2. 다음 큰 숫자 (자바 JAVA) (0) | 2021.08.25 |
Comments