현대오토에버의 코딩테스트를 위해서 C++로 코딩테스트 연습을 하기로 하였다. 목표는 레벨 3까지 풀 수 있을 정도의 실력을 기르는 것이다.
한동안 C++를 하여 42Seoul 과제를 진행했어서 문법이 익숙했는데 최근에는 ts, dart를 주로 사용하다보니 자주 사용하던 함수와 문법이 헷갈려서 큰일이다.
문제마다 정리를 하면서 빠르게 C++ 코테를 준비해보자.
softeer의 가장 쉬운 문제인 "A+B" 문제이다.
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
제약조건두 정수 A와 B는 1이상 9이하의 정수이다.
입력형식첫째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다.
출력형식각 테스트 케이스마다 "Case #(테스트 케이스 번호): "를 출력한 다음, A+B를 출력한다.테스트 케이스 번호는 1부터 시작한다.
입력예제
5
1 1
2 3
3 4
9 8
5 2
출력예제
Case #1: 2
Case #2: 5
Case #3: 7
Case #4: 17
Case #5: 7
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char** argv)
{
int count;
cin >> count;
for (int i = 0; i < count; i++){
long answer = 0;
for (int j = 0; j < 2; j++){
string line;
cin >> line;
answer += stol(line);
}
cout << "Case #" << i+1<< ": " << answer << endl;
}
return 0;
}
위 코드가 내가 풀이한 코드인데
#include<iostream>
using namespace std;
int main(int argc, char** argv)
{
int n;
cin >>n;
int a,b;
for(int i=0;i<n;i++){
cin >>a>>b;
cout <<"Case #"<<i+1<<": "<<a+b<<"\n";
}
return 0;
}
이 코드는 다름 사람의 코드를 가져온 것이다. 근데 내 코드에 비해 확연히 깔끔한 것을 느낄 수 있다...
아직 돌아오려면 한참 멀은 것 같다. 일단 cin 을 연속으로 받을 수 있다는 것을 잊어버리고 있었다. cin을 연속으로 받으면 쓸데없는 for문을 안넣을 수 있었다.
그리고 cin으로는 string만 받을 수 있는 줄 알았지만 int, double, float등 여러 타입을 받을 수 있는 것 같다. 그러면 따로 stol, stoi 함수를 사용하지 않아도 좋을 것 같다.
'C++' 카테고리의 다른 글
[C++, 코딩테스트] Softeer : 강의실 배정 with 그리디 + 우선순위 큐 (0) | 2024.01.26 |
---|---|
[C++, 코딩테스트] Softeer : 수퍼바이러스 with 분할정복 (1) | 2024.01.24 |
[C++, 코딩테스트] Softeer : 8단 변속기 (1) | 2024.01.22 |
[C++, 코딩테스트] Softeer : 징검다리 with DP(기억하기 풀이법) (1) | 2024.01.22 |
[C++, 코딩테스트] Softeer : 성적 평균 (1) | 2024.01.21 |