파게로그
[백준 10951번] 입력 개수가 미정일 때 본문
문제 링크: 10951번 A+B - 4
https://www.acmicpc.net/problem/10951
C++의 경우, 테스트 케이스의 개수가 주어지지 않는 경우, cin.eof()
를 이용하여 입력을 중단시킬 수 있다.
자바는 bufferedReader.readLine( )의 반환값이 null일 때 입력받기를 중단한다. Scanner를 이용할 경우에는 .hasNext( ) 메서드를 이용할 수 있다.
C++
아래와 같이 .eof( )를 이용할 수 있다.
#include <iostream>
using namespace std;
int main(void) {
while (1) {
int a, b;
cin >> a >> b;
if (cin.eof()) break; // cin.eof() returns true if eof
cout << a+b << '\n';
}
return 0;
}
아래와 같이 보다 간결하게 작성할 수 있다.
#include <iostream>
using namespace std;
int main() {
int a, b;
while (cin >> a >> b) {
cout << a + b << '\n';
}
return 0;
}
Java
BufferedReader 이용
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
StringTokenizer st = new StringTokenizer(line, " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
sb.append(a+b).append('\n');
}
System.out.print(sb);
}
}
Scanner 이용
import java.util.Scanner;
public class Main {
public static void solution() {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a+b);
}
sc.close();
}
public static void main(String[] args) {
solution();
}
}
Python
파이썬으로 PS를 제대로 해보지 않아서 잘 모르겠지만, 여러 코드를 살펴본 바 아래 코드 정도가 가장 정석적인 것이 아닐까 한다.
from sys import stdin
for line in stdin:
print(sum(map(int, line.split())))
'콤퓨타 왕왕기초 > PS' 카테고리의 다른 글
[백준 2839번] 설탕 배달 (0) | 2020.10.28 |
---|---|
[백준 1065번] 한수 (0) | 2020.10.27 |
[백준 4673번] int와 string 상호 변환 (0) | 2020.10.26 |
[코테] 2020 카카오 공채 (문자열 압축) (0) | 2020.10.16 |
[코테] 2020 카카오 공채 (괄호 변환) (0) | 2020.10.16 |
Comments