[백준/C++]#10951 - A + B (입력개수 x)
2021. 1. 11. 18:16ㆍ필요/코딩테스트(백준)
풀이
#include <iostream>
using namespace std;
int main() {
int a, b;
while (cin >> a >> b) {
cout << a+b << '\n';
}
return 0;
}
C++ 개념
C++에서는 #include <iostream> 라이브러리를 사용한다.
이는 input output stream을 의미하고, 이를 통해 cin, cout을 사용할 수 있게 된다.
그리고 namespace를 사용하는데, 이 특징으로 C++이 객체지향적 특징을 갖게 된다.
input과 output은 다음과 같이 받는다.
cin >> 변수1 >> 변수2;
cout << (출력할 내용);
추가로 cout << (출력내용) << '\n';
또는 cout << (출력내용) << endl;
를 사용해서 줄바꾸기를 할 수 있다.
문제에서 특이한 점은 따로 테스트 케이스의 개수를 입력받지 않는다는 것이다. (앞선 #10950과 차이점)
이렇게 입력이 몇 개인지 주어지지 않는 경우, 입력을 EOF(End Of File)까지 받는다.
C++에서는 위처럼 while 반복문안에 input을 받는 식을 넣어주었는데, 이 식 자체의 return 값을 활용해 문제를 해결하였다.
백준 강의에 따르면 C의 경우 while (scanf("%d %d", &a,&b) == 2) 로 문제를 해결 할 수 있다.
그리고 Java의 경우 while (sc.hasNextInt()) 를 사용한다.
C는 C++의 해답과 사실상 동일한 것 같다. 좀 더 명확한 case를 구별하므로 좀 더 디테일한 구별이 가능하다고 생각된다. Java의 경우 sc 객체의 Scanner 클래스 메소드를 사용해 해결된다.
'필요 > 코딩테스트(백준)' 카테고리의 다른 글
[백준/C++]#9012 - 올바른 괄호 문제 (0) | 2021.01.12 |
---|---|
[백준/C++]#11718 - 공백이 존재하는 문자열 출력 (0) | 2021.01.11 |
[백준강의] 알고리즘과 입출력 개념 (0) | 2021.01.11 |
코드업 기초 100제 (2) | 2021.01.08 |
코딩테스트 (0) | 2021.01.08 |