문제

두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. 상근이는 정인이 생일 선물로 두 숫자 R1과 R2를 주려고 한다. 생일 파티에서 상근이는 정인이에게 이 두 숫자를 말해주고, 정인이는 이 숫자를 받아 적는다. 그리고 나서 기쁜 마음으로 1년동안 이 숫자를 외우면서 산다.

상근이는 R1과 R2를 엄청난 고민 끝에 정했다. 작년에는 R1과 R2를 까먹어서 아무 숫자나 정해서 주었기 때문에, 올해는 까먹지 않기 위해서 평균 S도 같이 기억하려고 한다.

오늘은 정인이 생일이다. 5분 후에 상근이는 생일 선물로 두 숫자 R1과 R2를 말해주어야 하지만, 안타깝게도 R2를 까먹고 말았다. 하지만 R1과 S는 기억하고 있다!

상근이를 도와 R2가 몇 인지 구하는 프로그램을 작성하시오.

 

 

입력

첫째 줄에 두 정수 R1과 S가 주어진다. 두 수는 -1000보다 크거나 같고, 1000보다 작거나 같다.

 

 

출력

첫째 줄에 R2를 출력한다.

 

 

풀이

두 숫자와 평균을 기억하고 있던 중 한 숫자를 잃어버렸다는 문제로

두 숫자의 합은 평균*2라는 사실을 알고 있다면 간단히 해결할 수 있다.

평균(S)*2 - R1의 연산을 하면 R2를 구할 수 있기 때문에

S와 R1을 받아오기 위해 입력값을 split, map(Number)로 변환한 다음 구조분해할당으로 값을 받고

S*2 - R1 연산의 결과를 출력했다.

const [r1, s] = require('fs').readFileSync('/dev/stdin').toString().trim().split(" ").map(Number)

console.log(s * 2 - r1)
const [r1, s] = `11 15`.split(" ").map(Number)

console.log(s * 2 - r1)

+ Recent posts