[백준 BOJ] 3046번 R2 (C++/cpp)

2022. 10. 7. 14:21PS (Program Solving)/BOJ (백준)

문제 설명

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

 

3046번: R2

두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. 상근이는 정인이 생일 선물로 두 숫자 R1과 R2를 주려고 한다. 생일 파티에서 상근이는 정인이에게 이 두 숫자를 말해주고, 정인이는

www.acmicpc.net

백준 BOJ 3046번 R2 문제 사진

 

접근 방법 - 사칙연산을 응용한 기초 문제

백준의 3046번 문제는 단순 사칙연산을 이용하여 해결해야 하는 문제이다.

해당 문제는, r1과 s(r1와 r2의 평균)을 입력받을 때, 이를 통해 r2를 구해서 출력해야 하는 문제이다.

이는 단순한 사칙연산만 응용하면 되기 때문에 언어의 문법만 잘 알고 있다면 쉽게 풀 수 있을 것으로 예상된다.

필자의 경우엔 r2와 s 간의 차이를 구하여 이를 s에 더하여 해결을 시도해보았다. (s는 r1과 r2의 중앙값이기 때문이다.)

코드가 간단하여 코드에 대한 설명은 생략하였다.

혹여나 이해가 어렵다면 아래 코드에 대해서 직접 값을 추적하며 시뮬레이션해보길 바란다.

필자는 아래처럼 코드를 작성하여 문제를 해결하였다.

 

성공한 코드

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#define endl '\n'
using namespace std;

//백준 3046번 코드
int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);	cout.tie(NULL);

	int a, b;
	cin >> a >> b;
	cout << b + (b - a) << endl;
}

 

제출 결과

백준 BOJ 3046번 R2 문제 C++ 제출 결과

(2022.08.13 백준 3046번 문제 제출 결과)

반응형