새소식

코딩테스트/백준_브론즈

[C++][백준 2083] 럭비 클럽

  • -

[문제]

https://www.acmicpc.net/problem/2083

 

2083번: 럭비 클럽

입력 받은 각 회원에 대해 이름과 분류를 출력한다. 성인부 회원이면 'Senior', 청소년부 회원이면 'Junior'를 출력한다.

www.acmicpc.net

[문제 풀이]

한줄씩 입력을 받아서 만약 "# 0 0"이면 종료하고 아니면 split을 통해서 입력받은 string을 s[0],s[1],s[2]로 나누었다.

s[1]과 s[2]가 조건을 만족하면 s[0],Senior를 출력 아니면 s[0],Junior를 출력시켰다. 

[회고]

사실 string, int, int로 받아서 해결해도 되는데 최근에 프로그래머스등의 문제에서 string으로 입력을 받아서 해결해야 하는 경우가 많아져서 split 함수를 구현해서 풀었다. 예전엔 가끔 버벅였는데 이제는 제대로 체득이 된듯 치는 모습에 좀 뿌듯함.

[코드]

#include <iostream> #include <sstream> #include <vector> #define endl "\n" using namespace std; vector<string> split(string str,char delimeter){ vector<string> answer; istringstream iss(str); string buffer; while(getline(iss,buffer,delimeter)){ answer.push_back(buffer); } return answer; } int main(){ string s; while(getline(cin,s)){ if(s == "# 0 0"){ break; } vector<string> result; result = split(s,' '); if(stoi(result[1]) > 17 || stoi(result[2])>= 80){ cout<<result[0]<<" Senior"<<endl; } else{ cout<<result[0]<<" Junior"<<endl; } } return 0; }

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.