Living in my own world. Else If..? 자세히보기

백준 - 단계별로 풀어보기/C++

[백준] 1000 A+B, 1001 A-B, 10998 A×B 풀이 (C/C++) - Elif's Diary

Elif_918 2026. 4. 6. 07:43

안녕하세요! 이번에는 < 단계별로 풀어보기 > 1단계의 1000,1001,10998번을 풀어보았습니다.

위 세 문제들은 모두 입·출력 개념과 연산자만 알고 계시다면 간단히 풀리는 문제입니다. 
세 문제 모두 stdio.h와 iostream 두 라이브러리의 풀이를 준비했으니, 원하시는 풀이로 스크롤해 읽어주시면 감사하겠습니다.
stdio.h라이브러리는 C언어에서도 호환되기 때문에, C언어를 공부하시는 분들은 stdio.h를 참고해봐도 좋을 것 같습니다.

<iostream>

// 1000번 A+B
#include <iostream>
int main(){
    int A; int B;
    std::cin >> A;
    std::cin >> B;
    std::cout<< A+B;
    return 0;
}

// 1001번 A-B
#include <iostream>
int main() {
    int A; int B;
    std::cin >> A;
    std::cin >> B;
    std::cout<< A-B;
    return 0;
}

// 10998번 A×B
#include <iostream>

int main() {
    int A; int B;
    std::cin >> A;
    std::cin >> B;
    
    std::cout << A*B;
    return 0;
}

1000번, 10001번, 10998번은 모두 같은 코드에서 연산자만 변경하면 되는 문제입니다.

밑의 내용은 iostream 라이브러리를 사용한 풀이 방법을 서술합니다.


우선 #include <iostream>으로 iostream(표준 입출력, 입출력 스트림) 라이브러리를 호출합니다.

그 뒤 main함수를 호출해 프로그램의 시작점을 정해줍니다. ( int main() {} )

이번 문제들은 입력값 A와 B를 계산해야하기 하기 때문에 입력값을 저장할 때 사용할 변수

A와 B를 정수 자료형으로 선언해줍니다. ( int A; int B; )


iostream 라이브러리는 입력값을 cin 함수를 사용해 입력받습니다.
std (standard) 네임스페이스 내의 cin (console input) 함수를 사용한다는 뜻으로 std::cin,

그 값을 A에 저장한다는 뜻으로 >>A를 붙여 std::cin >> A; 함수를 사용 시 A에 입력값이 저장됩니다.
입력값이 두개이기 때문에 동일한 방법으로 B에 값을 한번 더 저장합니다.

 

출력은 cout 함수를 사용합니다.
cout 함수 또한 std 네임스페이스 내에 존재하기 때문에, std::cout{출력형식} 꼴로 작성해야 합니다.
저희는 A+B, A-B, A*B를 출력해야하기 때문에 문제에 따라서 << A+B 혹은 << A*B와 같이 유동적으로 변경해주면 되겠습니다.

 

마지막의 return 0;은 main함수의 리턴값을 정해주는 구문입니다.
예전의 컴파일러들은 프로그램이 제대로 종료되었다는 뜻인 0을 반환해주어야 했지만,

현재의 컴파일러들은 main함수에 한해 자동으로 0을 반환해주기 때문에 꼭 필요하진 않습니다.

다만 예전 방식처럼 코드의 끝에 return 0;을 적는게 전통,관습같은 느낌으로 굳어져있어 저는 사용하는걸 더 선호합니다.

오늘도 긴 글 읽어주셔서 감사합니다!

100번 채점 결과
1001번 채점 결과
10998번 채점 결과

<stdio.h>

// 1000번 A+B
#include <stdio.h>
int main() {
    int A; int B;
    scanf("%d %d", &A,&B);
    printf("%d", A+B);
    return 0;
}

// 1001번 A-B
#include <stdio.h>
int main() {
    int A; int B;
    scanf("%d %d", &A,&B);
    printf("%d", A-B);
    return 0;
}

// 10998 A×B
#include <stdio.h>

int main() {
    int A; int B;
    scanf("%d %d", &A, &B);
    
    printf("%d", A * B);
    return 0;
}

1000번, 10001번, 10998번은 모두 같은 코드에서 연산자만 변경하면 되는 문제입니다.

밑의 내용은 stdio.h 라이브러리를 사용한 풀이 방법을 서술합니다.

stdio.h는 C언어의 표준 입출력 라이브러리입니다. 위 코드는 C언어에서도 호환됩니다.


본론으로 돌아가서, 우선 #include <stdio.h>으로 stdio(표준 입출력) 라이브러리를 호출합니다.

그 뒤 main함수를 호출해 프로그램의 시작점을 정해줍니다. ( int main() {} )

이번 문제들은 입력값 A와 B를 계산해야하기 하기 때문에 입력값을 저장할 때 사용할 변수

A와 B를 정수 자료형으로 선언해줍니다. ( int A; int B; )

 

stdio 라이브러리는 scanf() 함수를 사용해 입력받습니다.
현재 구문에서는 scanf("%d %d", &A, &B); 라고 작성되어있는데요, 괄호 부분을 알아보자면
("입력받는 값의 형식", 저장할 위치) 라고 생각하면 편합니다.
형식은 값이 어떻게 들어오는지를 정하는 부분입니다.
예를 들어 10 20을 입력 받을 때에는 "%d %d", 10,20을 입력받을 때에는 "%d,%d" 처럼 작성해야하죠.
+ %d는 자료형입니다! C에서는 입력값의 자료형을 정해주어야 해서, %n 형태로 작성해야합니다.
   이 부분은 추후 따로 포스팅하겠습니다!

 

두번째 부분은 말했다시피 저장할 위치인데요,
& 기호를 사용해 위치를 정해줍니다. &A면 A 변수에, &B면 B 변수에 저장하겠죠?

 

이제 입력값을 저장했으니, 계산 후 출력해줄 차례입니다.

출력은 printf() 함수를 사용합니다.
printf("%d",&d) 처럼 출력값의 형식을 적고, 뒤에 출력할 값을 정해주어야 합니다.

저희는 A+B, A-B, A*B를 출력해야하기 때문에 문제에 따라서 &A + &A 혹은 &A * &B와 같이 유동적으로 변경해주면 되겠습니다.

 

마지막의 return 0;은 main함수의 리턴값을 정해주는 구문입니다.
예전의 컴파일러들은 프로그램이 제대로 종료되었다는 뜻인 0을 반환해주어야 했지만,

현재의 컴파일러들은 main함수에 한해 자동으로 0을 반환해주기 때문에 꼭 필요하진 않습니다.

다만 예전 방식처럼 코드의 끝에 return 0;을 적는게 전통,관습같은 느낌으로 굳어져있어 저는 사용하는걸 더 선호합니다.

1000번 채점 결과
1001번 채점 결과
10998번 채점 결과

 

이번 포스팅은 여기서 마치겠습니다. 오늘도 긴 글 읽어주셔서 감사합니다!