코디잉
프로그래머스 - 가장 가까운 같은 글자 (JAVA) 본문
https://school.programmers.co.kr/learn/courses/30/lessons/142086
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제)
문자열 s에서, 각 문자 c에서 자신보다 앞에 나오는 문자 중 가장 가까운 자기와 같은 글자와의 거리차이 구하기
앞에 자신과 같은 문자가 없다면 -1
접근 방식)
1. 문자와 그 문자의 위치를 저장할 HashMap, 정답배열 int[] answer 생성
2. 문자열 s만큼 반복문 돌면서, 해당 문자가
→ map에 없으면, answer배열에 -1 저장
→ map에 있으면, 현재 위치 - map에 저장된 위치
3. map에 현재 문자와 위치 넣음
4. 정답배열 반환
import java.util.*;
class Solution {
public int[] solution(String s) {
int[] answer = new int[s.length()];
HashMap<Character, Integer> map = new HashMap<>();
for (int i = 0; i < s.length(); i++) {
char now = s.charAt(i);
if (!map.containsKey(now))
answer[i] = -1;
else
answer[i] = i - map.get(now);
map.put(now, i);
}
return answer;
}
}
'자료구조&알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - [1차] 비밀지도 (JAVA) (0) | 2023.11.13 |
---|---|
프로그래머스 - 명예의 전당(1) [JAVA] (0) | 2023.11.13 |
프로그래머스 - 미로탈출 (JAVA) (0) | 2023.10.13 |
프로그래머스 - 최소직사각형 (JAVA) (0) | 2023.09.26 |
프로그래머스 - 게임 맵 최단거리 (JAVA) (1) | 2023.09.25 |
Comments