BAEKJOON/단계별로 풀어보기

[BOJ][C언어, Python, Java] 1000번 : A+B

말하는 알감자 2022. 7. 23. 18:09

문제 링크 : https://www.acmicpc.net/problem/1000

🔒 문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

⌨ 입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

🖨 출력

A+B를 출력

📚 예제

Ex)

A = 1, B = 2

3

🚨 주의할 점

  1. python 입력
    1) input = sys.stdin.readline
  • input함수보다 빠른 입력을 받을 수 있음
  • 많은 양의 입력을 처리할 때 유리
  • 한 줄 씩 읽어옴
  • 끝에 개행문자(\n)이 포함되므로 이를 처리하기 위해 strip() 사용
    ex) string = input().strip()

2) input().split()

  • input()으로 한 줄을 입력받고, 그 줄을 띄어쓰기 단위로 나누어 리스트로 반환
    ex) "1 2 3"이라는 입력이 들어오면 ['1', '2', '3']이라는 리스트로 나뉘게 됨

3) map(int, input().split())

  • input().split()으로 나눈 문자열들을 map()을 사용하여 각각 int형으로 변환
    ex) "1 2 3" 입력이 들어오면 map(int, ['1', '2', '3'])이 되어, 이 결과는 [1, 2, 3]처럼 정수형 리스트로 변환
  1. JAVA 입력
    1) Scanner 사용
  • Scanner 객체를 사용하여 입력을 받음
  • Scanner sc = new Scanner(System.in); 사용해서 입력 객체 생성
  • sc.close(); 로 객체 닫음

2) BufferReader 와 StringTokenizer

  • BufferedReader 는 빠른 입력을 처리, 한 줄씩 입력 받을 수 있음
  • BufferedReader 는 Scanner 보다 더 효율적
  • InputStreamReader(System.in)는 System.in을 문자 스트림으로 변환
  • br.readLine()은 입력을 한 줄씩 읽어옴
  • StringTokenizer 는 문자열을 특정 구분자 기준으로 나누어 주는 클래스
    ex) 입력값이 "3 5"라면, StringTokenizer는 "3"과 "5"를 구분자로 나누어서 순차적으로 반환
  • st.nextToken() 은 StringTokenizer에서 구분된 각 토큰을 순차적으로 반환
    ex) "3 5"라는 입력에서는 첫 번째 호출 시 "3", 두 번째 호출 시 "5"가 반환
  • 반환된 문자열은 Integer.parseInt() 를 사용하여 정수로 변환

🔑 python 코드 1

import sys
input = sys.stdin.readline

a, b = map(int, input().split())
print(a + b)

🔑 python 코드 2

import sys
input = sys.stdin.readline

a, b = input().split()
print(int(a) + int(b))

🔑 java 코드 1

import java.util.*;

public class boj1000 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int a, b;
        a = sc.nextInt();
        b = sc.nextInt();

        System.out.println(a + b);

        sc.close();
    }
}

🔑 java 코드 2

import java.io.*;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String str = br.readLine();
        StringTokenizer st = new StringTokenizer(str, " ");
        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());

        System.out.println(a + b);
    }
}

🔑 c언어 코드

#include<stdio.h>
int main()
{
    int A, B, C;
    scanf("%d %d", &A,&B); // A,B값 대입
    C = A + B;
    printf("%d", C);
    return 0;
}