[프로그래머스/C++] 가장 가까운 같은 글자 (lv1)

2025. 10. 21. 18:48·PS/Programmers

 

나왔는지 안나왔는지와 한 번 등장했다면,

그 위치로부터 다시 등장한 애의 차이가 얼마나 나는지를 구해야한다.

 

그래서 등장 여부를 확인하는 용도로는 Map이 좋다고 생각하여 자료구조로 unordered_map을 사용했다.

알파벳 문자를 key값으로, 그 알파벳의 위치(인덱스)를 value로 했다.

 

만약 이 맵에 없다면 -1을 answer에 넣고,

존재 한다면 앞에 한 번 나온 애의 위치가 저장되어 있으니,

현재 나의 인덱스에서 맵에 저장된 위치를 빼서 간격을 구하여 answer에 넣는다.

 

그리고나서는 모두 현재 나(알파벳)의 위치 인덱스 값으로 맵을 업데이트시켜주는 방식으로 풀었다.

 

아래는 코드이다!

#include <bits/stdc++.h>
using namespace std;

vector<int> solution(string s) {
    unordered_map<char,int> hMap;
    vector<int> answer;
    for (int i=0;i<s.size();++i){
        if (hMap.find(s[i])==hMap.end()) {
            answer.push_back(-1);
        }else {
            answer.push_back(i-hMap[s[i]]);
        }
        hMap[s[i]]=i;
    }
    return answer;
}

 

저작자표시 비영리 변경금지 (새창열림)

'PS > Programmers' 카테고리의 다른 글

[SQL] SQL NULL값인 컬럼 처리하기 (IFNULL)  (0) 2026.01.07
[프로그래머스/C++] Level1 - 2016년 풀이  (0) 2025.12.07
[프로그래머스/C++] 알고리즘 고득점 키트 - 베스트앨범  (1) 2025.07.04
[프로그래머스/C++] 알고리즘 고득점 키트 - 체육복  (0) 2025.05.21
[프로그래머스/C++] 알고리즘 고득점 키트 - K 번째 수  (0) 2025.05.20
'PS/Programmers' 카테고리의 다른 글
  • [SQL] SQL NULL값인 컬럼 처리하기 (IFNULL)
  • [프로그래머스/C++] Level1 - 2016년 풀이
  • [프로그래머스/C++] 알고리즘 고득점 키트 - 베스트앨범
  • [프로그래머스/C++] 알고리즘 고득점 키트 - 체육복
Lyv
Lyv
  • Lyv
    inimizi
    Lyv
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • 이것저것 도전 (5)
        • 공모전 (0)
        • 우테코 (5)
      • PS (16)
        • 삼성기출 (2)
        • LeetCode & Codility (4)
        • Programmers (6)
        • BaekJoon (4)
      • 공부기록 (33)
        • CS (16)
        • 영어 (1)
        • iOS (1)
        • 프로그래밍 언어 (0)
        • Web (4)
        • Linux (1)
        • Docker (2)
        • Network (4)
        • IaC (3)
      • 프로젝트 경험 (0)
      • DailyLog (4)
      • 취준Log (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    os
    운영체제
    DP
    정처기실기
    우테코프리코스
    c언어
    리눅스
    til
    IAC
    우테코
    C++
    manifest
    컨테이너
    FastAPI
    대학생
    스케줄링
    이미지
    정처기
    자동화
    PS
    디자인패턴
    네트워크
    프리코스회고
    운영체제intro
    ansible
    코테
    문제풀이
    백준
    공부기록
    프로그래머스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Lyv
[프로그래머스/C++] 가장 가까운 같은 글자 (lv1)
상단으로

티스토리툴바