가장 가까운 같은 글자

2025. 1. 14. 12:21·코딩 테스트/프로그래머스

문제

 

문제 해석

- 길이가 10,000이므로 O(N^2)으로 풀어도 문제가 없겠다 생각
- 해당 문자로부터 가장 앞에 있는 것을 검색하는것이므로 IDX와 IDX -1번째부터를 검색하는 것으로 풀면 되겠다 생각
- 찾지 못한 경우를 생각해야 하므로 bool 변수 생각, 못 찾은 경우 -1로 설정하는 것은 처음 answer에서 -1을 채워놓으면 됨.
- IDX로부터 검색해야 하는 것은 0번 인덱스까지로 설정

 

코드

#include <string>
#include <vector>

using namespace std;

vector<int> solution(string s) {
    vector<int> answer(s.length(), -1);
    
    
    for(int IDX = 0; IDX < s.length(); ++IDX)
    {
        bool bFind = false;
        for(int FindIDX = IDX - 1; FindIDX >= 0; --FindIDX)
        {
            if(s[FindIDX] == s[IDX])
            {
                bFind = true;
                answer[IDX] = IDX - FindIDX;
                break;
            }
        }      
    }
    
    return answer;
}

 

 

다른 사람의 풀이

O(n)으로 풀기 위해서 알파벳에 해당하는 배열을 하나 더 두고 가장 마지막으로 해당 알파벳이 나온 위치를 기록해 두는 방식으로 풀이함. string s의 길이가 극단적으로 길어지면 위의 풀이처럼 하는 것보다는 O(n)으로 할 수 있는 방법인 이 방법을 사용하는 것이 더 옳음.

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

푸드 파이트 대회  (0) 2025.01.14
두 개 뽑아서 더하기  (0) 2025.01.14
숫자 문자열과 영단어  (2) 2025.01.13
최대공약수와 최소공배수  (0) 2025.01.07
직사각형 별찍기  (0) 2025.01.07
'코딩 테스트/프로그래머스' 카테고리의 다른 글
  • 푸드 파이트 대회
  • 두 개 뽑아서 더하기
  • 숫자 문자열과 영단어
  • 최대공약수와 최소공배수
DevJoo1120
DevJoo1120
  • DevJoo1120
    Jin's Programming
    DevJoo1120
  • 전체
    오늘
    어제
    • 분류 전체보기 (142)
      • 포트폴리오 (7)
        • Castlevania: Aria of Sorrow.. (7)
        • [UE5] KILL Everything (0)
      • C++ (0)
      • 라이브러리 (1)
      • 다이렉트X11 (0)
      • Unreal Engine (11)
        • Unreal Document (1)
        • 이것 저것 (8)
        • UI (1)
      • 자료구조 및 알고리즘 (0)
      • 책 정리 (3)
        • 코딩 테스트 합격자 되기 C++ 편 (10)
      • 코딩 테스트 (32)
        • 프로그래머스 (32)
      • 스파르타 코딩 언리얼 1기 (9)
        • 특강 (0)
        • C++와 Unreal Engine으로 3D .. (2)
      • TIL(Today I Learned) (63)
      • 영어 공부 (0)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    프로그래머스
    코딩 테스트
    C++
    문자열
    코딩 테스트 합격자 되기 c++ 편
    WINAPI
    Til
    정렬
    Unreal Engine 5
    팀 프로젝트
    Study
    과제
    코딩테스트
    스파르타 코딩 클럽
    반복문
    책 정리
    배열
    정리
    map
    이중 반복문
  • hELLO· Designed By정상우.v4.10.5
DevJoo1120
가장 가까운 같은 글자
상단으로

티스토리툴바