728x90
- 관련 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120853
입력된 문자열에 있는 숫자를 차례대로 더하되, '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 |
댓글