본문 바로가기
Algorithm/Programers

컨트롤 제트

by 꼬부기가우는소리 2023. 6. 15.
728x90

 

- 관련 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120853

 

프로그래머스

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

programmers.co.kr

 

입력된 문자열에 있는 숫자를 차례대로 더하되, 'Z'가 나오면 바로 전에 더한 수를 빼는 문제이다.

입력 받은 문자열을 하나씩 확인하며 계산해주었다.

 

1) 전체 문자열 입력 받음

2) 공백(' ')을 기준으로 split 후 vector에 저장

3) vectror에 저장된 문자열 확인

    3-1) 'Z'인 경우, 결과값에서 임시 저장된 값만큼 빼기: answer -= tmp

    3-2) 'Z'가 아닌 경우, 숫자인지 확인하여 결과값에 숫자 더한 후 임시 저장: tmp = num

 

#include <string>
#include <vector>
#include <sstream>

using namespace std;

int solution(string s) {
    vector<string> str_nums;
    stringstream ss(s);
    string temp;
 
    while (getline(ss, temp, ' ')) {
        str_nums.push_back(temp);
    }
    
    int tmp = 0;
    int answer = 0;
    
    for (string str : str_nums) {
        if (str == "Z") {
            answer -= tmp;
        }
        else {
            int num = stoi(str);
            answer += num;
            tmp = num;
        }
    }
    return answer;
}
728x90

'Algorithm > Programers' 카테고리의 다른 글

숨어있는 숫자의 덧셈 (1)  (0) 2023.06.18
OX퀴즈  (0) 2023.06.18
N개의 최소공배수  (0) 2023.06.12
배열 회전시키기  (0) 2023.06.08
가까운 수  (0) 2023.06.08

댓글