1. 첫번째 단어부터 조건을 검색하도록 한다
2. 현재 단어가 이미 나온 단어인이거나 이전 단어의 마지막 글자와 현재 단어의 첫번째 글자가 일치하지 않는지 검사
- 조건이 참이면 잘못된 글자이므로 해당 위치를 answer에 저장하고 반환
- answer[0]: 해당 위치의 인덱스(i)를 한 줄에 들어가는 단어의 개수(n)로 나눈 나머지에 1을 더해 줄 번호 계산
- answer[1]: 해당 위치의 인덱스(i)를 한 줄에 들어가는 단어의 개수(n)로 나눈 몫에 1을 더해서 위치 계산
class Solution {
public int[] solution(int n, String[] words) {
int[] answer = new int[2];
Map<String, Integer> map = new HashMap<>();
for(int i = 0; i < words.length; i++){
if(i != 0){
String s1 = words[i - 1];
String s2 = words[i];
if(map.containsKey(s2) || s1.charAt(s1.length() - 1) != s2.charAt(0)){
answer[0] = (i % n) + 1;
answer[1] = (i / n) + 1;
return answer;
}
}
map.put(words[i], 1);
}
return answer;
}
}
'Algorithm > 프로그래머스' 카테고리의 다른 글
[Lv. 1] 달리기 경주 (0) | 2023.08.08 |
---|---|
[Lv. 1] 체육복 (0) | 2023.08.08 |
[Lv. 1] 개인정보 수집 유효기간 (0) | 2023.07.30 |
[Lv. 1] 햄버거 만들기 (0) | 2023.07.29 |
[Level 1] 숫자 문자열과 영단어 (0) | 2023.07.23 |
댓글