반응형

백준 15552번 빠른 A+B 풀이 코드

C | C++ | Java | Python


풀이

C의 scanf()는 충분히 빠릅니다. for문으로 n회만큼 a, b를 입력 받아 합을 출력합니다.

cin, cout을 써서 시간 내에 해결하려면 cin.tie(NULL)과 sync_with_stdio(false)을 둘다 적용하고 for문으로 n회만큼 a, b를 입력 받아 합을 출력합니다. 이 때 개행문자는 endl대신 \n을 사용합니다.

Scanner로 시간내에 출력을 마치긴 어렵습니다. BufferedReader와 BufferedWriter를 사용해서 for문으로 n회만큼 a, b를 입력 받아 합을 출력합니다.

input으로 시간내에 출력을 마치긴 어렵습니다. input 대신 sys.stdin.readline 사용해서 for문으로 n회만큼 a, b를 입력 받아 합을 출력합니다.

코드

#include <stdio.h>

int main(){
	int n, a, b;
	scanf("%d", &n);
	for (int i = 0; i < n; i++){
		scanf("%d %d", &a, &b);
		printf("%d\n", a + b);
	}
	return 0;
}
#include <iostream>
using namespace std;

int main(void) {
	cin.tie(NULL);
	ios::sync_with_stdio(false);
	
	int n, a, b;
	cin >> n;
	for(int i = 0; i < n; i++){
		cin >> a >> b;
		cout << a + b << "\n";
	}
	return 0;
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        StringTokenizer st;
        StringBuilder sb = new StringBuilder();
        
        for(int i = 0; i < n ; i++){
            st = new StringTokenizer(br.readLine()," ");
            sb.append(Integer.parseInt(st.nextToken()) + Integer.parseInt(st.nextToken())).append('\n');
        }
        br.close();
        System.out.println(sb);
    }
}
import sys

n = int(input())
for i in range(n):
    a, b = map(int, sys.stdin.readline().split())
    print(a+b)

문제 출처

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

반응형

+ Recent posts