Koala - 6기/기초 알고리즘 스터디

[백준/C++] 20499 Darius님 한타 안 함?

알 수 없는 사용자 2022. 3. 13. 20:43

​​문제



문제풀이

 


K/D/A를 문자열로 받고 이를 "/"를 기준으로 문자열을 쪼개어 다시 정수형으로 변환시키고 K+A를 연산하고 D=0의 여부를 확인한다. python의 경우 split함수를 쓰면 되지만 c++에는 그런 함수가 없기 때문에 stringstream 함수를 이용해 getline 함수에 맞는 인스턴스로 문자열 str을 변환시키고 getline함수로 "/"를 기준으로 잘라낸 문자를 숫자로 변환해 미리 만든 배열 li에 하나씩 집어넣는다. 

#include<iostream>
#include<string>
#include<sstream>

using namespace std;

int main()
{
string str, token;
cin >> str;
int b = 0;
int li[3];

stringstream ss(str);
while (getline(ss, token, '/')) {
li[b] = stoi(token);
b += 1;
}

if (li[0] + li[2] < li[1] or li[1] == 0) {
cout << "hasu";
}
else {
cout << "gosu";
}
}