[C++] 2021 카카오 채용연계형 인턴십 - 숫자 문자열과 영단어

2023. 6. 24. 10:14·[게임 개발] 알고리즘 공부/프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/81301

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

난이도 : Lv. 1

문제

 

입출력 예제

 

코드

#include <string>
#include <vector>
#include <map>
using namespace std;


int solution(string s) {
    int answer = 0;

    map<string, int> numList;
    numList["zero"] = 0;
    numList["one"] = 1;
    numList["two"] = 2;
    numList["three"] = 3;
    numList["four"] = 4;
    numList["five"] = 5;
    numList["six"] = 6;
    numList["seven"] = 7;
    numList["eight"] = 8;
    numList["nine"] = 9;

    for (pair<string, int> num : numList)
    {
        int pos = s.find(num.first);
        while(pos != string::npos)
        {        
            s.replace(pos, num.first.size(), to_string(num.second));
            pos = s.find(num.first);
        }       
    }
    answer = stoi(s);
    
    return answer;
}​

 

풀이

  • 맵 리스트를 통해 각 영단어와 숫자 밸류값을 저장
  • 범위기반 for문을 사용해 모든 영단어를 string의 find함수를 이용해 검색하고,
    찾아낸다면 해당 위치의 인덱스를 pos변수에 저장
  • 같은 영단어가 여러번 나올 수도 있으니 find의 결과가 npos가 나올때 까지
    while문을 이용해 반복
  • string의 replace 함수를 이용해 pos위치의 문자열을 숫자 밸류값으로 바꾼다.
  • 모든 영단어를 숫자 밸류값으로 바꾼 뒤, stoi함수를 사용해 int형으로 변환 후 결과 변수에 대입
저작자표시 (새창열림)

'[게임 개발] 알고리즘 공부 > 프로그래머스' 카테고리의 다른 글

[C++] 체육복  (0) 2023.10.15
[C++] 완주하지 못한 선수  (0) 2023.07.07
[C++] 2018 KAKAO BLIND RECRUITMENT[1차] 비밀지도  (0) 2023.06.23
[C++] 가장 가까운 같은 글자  (0) 2023.06.22
[C++] 2023 KAKAO BLIND RECRUITMENT개인정보 수집 유효기간  (0) 2023.05.21
'[게임 개발] 알고리즘 공부/프로그래머스' 카테고리의 다른 글
  • [C++] 체육복
  • [C++] 완주하지 못한 선수
  • [C++] 2018 KAKAO BLIND RECRUITMENT[1차] 비밀지도
  • [C++] 가장 가까운 같은 글자
람팜팜~
람팜팜~
:)
  • 람팜팜~
    RumPumPum
    람팜팜~
  • 전체
    오늘
    어제
    • 전체 (123)
      • 🎵 일상 (2)
      • JAVA (5)
        • 김영한의 자바 입문 (3)
      • JavaScript (12)
      • ---------------------------.. (0)
      • [게임 개발] 포트폴리오 (2)
        • RPG (1)
        • 슈터-플랫포머 (1)
      • [게임 개발] 개발 일지 (28)
        • RPG (25)
        • TopDownProject (3)
      • [게임 개발] 언리얼엔진 공부 (9)
        • 이득우의 언리얼 프로그래밍 Part.1 (6)
        • 이득우의 언리얼 프로그래밍 Part.2 (1)
        • 개인 메모 (2)
      • [게임 개발] 알고리즘 공부 (60)
        • 프로그래머스 (8)
        • 백준 (52)
        • 개인 메모 (0)
      • [게임 개발] CPP 공부 (2)
        • 이것이 C++ 이다 (1)
        • Effective C++ (0)
        • Effective Modern C++ (0)
        • 홍정모 그래픽스 새싹코스 (1)
      • [게임 개발] CS 공부 (3)
  • 블로그 메뉴

    • 링크

      • Github
    • 공지사항

    • 인기 글

    • 태그

      브루트포스
      메모리구조
      슬라이딩 윈도우
      dp
      context switching
      참조자
      누적합
      스레드
      투포인터
      그리디
      역참조
      문자열
      해시
      프로세스
      데드락
      dfs
      우선순위 큐
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    람팜팜~
    [C++] 2021 카카오 채용연계형 인턴십 - 숫자 문자열과 영단어
    상단으로

    티스토리툴바