728x90
반응형
2022.12.10
코테 문제풀이 21주차 03번 문제
문제
① 연습문제 : 가장 가까운 같은 글자
② 링크
접근방법
생각해낸 방법은 1가지
① HashMap.containsKey() 메소드를 사용한 중복체크
풀이
① 접근방법 : ①
② 풀이
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
32
33
34
35
36
|
import java.util.*;
class Solution {
/*
* Date: 2022-12-09
* Time: 10:13
*/
public int[] solution(String s) {
return proximateEqualsWord(s);
}
/*
* 메소드명: 가장 가까운 같은 글자
* 1. HashMap.contains() 메소드를 사용해 글자가 중복되는지 체크
* 2. 중복되지 않으면 word=index 형태로 put
* 3. 중복되면 index - map에 저장된 index
* 4. 고정배열에 차례대로 값 저장 후 리턴
*/
public int[] proximateEqualsWord(String s) {
int[] output = new int[s.length()];
Map<String, Integer> map = new HashMap<>();
for (int i = 0; i < s.length(); i++) {
int index = -1;
String word = s.substring(i, i+1);
if (map.containsKey(word)) {
index = i - map.get(word);
map.put(word, i);
} else {
map.put(word, i);
}
output[i] = index;
}
return output;
}
}
|
cs |
결과
주의사항
① 없음
728x90
반응형
'코딩테스트' 카테고리의 다른 글
[코테/JAVA] 연습문제 : 택배상자 (0) | 2022.12.13 |
---|---|
[코테/JAVA] 연습문제 : 귤 고르기 (0) | 2022.12.10 |
[코테/JAVA] 연습문제 : 점 찍기 (0) | 2022.12.08 |
[코테/JAVA] 연습문제 : 문자열 나누기 (0) | 2022.12.08 |
[코테/JAVA] 브루트 포스 : 블랙잭 (0) | 2022.06.15 |
댓글