파티가 끝나고 난 뒤
백준 - 파티가 끝나고 난 뒤
문제 설명
문제
파티가 끝나고 나면, 사람들은 누가 파티에 왔는지와 얼마나 많은 사람들이 왔는지를 궁금해한다.
보통 파티는 매우 크게 열리기 때문에, 정확하게 몇 명이 참가했는지 알 수가 없다.
지난주 토요일에 상근이는 자신의 3학년 진학을 기념하면서 매우 성대한 파티를 열었다.
그리고, 상근이는 1m2당 몇 명의 사람이 있었는지 알고있다.
상근이의 파티는 정말 엄청난 규모였기 때문에, 대부분의 신문에도 기사가 실렸다.
상근이는 서로 다른 5개의 신문을 보면서 그 기사에 적혀져있는 참가자의 수를 적었다.
상근이는 자신이 알고있는 참가자의 수가 정확하다고 생각한다.
각 신문 기사에 실려있는 참가자의 수가 몇 명 만큼 잘못되어있는지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 1m2당 사람의 수 L (1 ≤ L ≤ 10)과 파티가 열렸던 곳의 넓이 P (1 ≤ P ≤ 1000)가 주어진다.
둘째 줄에는 각 기사에 실려있는 참가자의 수가 주어진다. 106보다 작은 양의 정수 5개가 주어진다.
출력
출력은 첫째 줄에 다섯 개의 숫자를 출력해야 한다. 이 숫자는 상근이가 계산한 참가자의 수와 각 기사에 적혀있는 참가자의 수의 차이이다.
예제 입력 1
1 10
10 10 10 10 10
예제 출력 1
0 0 0 0 0
예제 입력 2
5 20
99 101 1000 0 97
예제 출력 2
-1 1 900 -100 -3
제출
처음에 예제 입력값을 보고 저런식으로 떼져서 들어오는건 어떻게 받아야 할까? 생각을 했다
fs로 입력을 받아오면 배열로 들어오니까 \n으로 먼저 두개의 배열을 받고 2중 배열 형태일테니까 그걸 이용해보기로 했다
const fs = require('fs')
var input = fs.readFileSync('/dev/stdin').toString().split('\n')
var people = Number(input[0][0])
var m2 = Number(input[0][1])
var all = people * m2
input[1].map(item => (console.log(Number(item)-all)))
이렇게 했는데 에러가 떠서 그냥 2중 배열을 또 split으로 풀어보았다
그리고 내가 map 함수를 잘 모르니까 잘 아는 for로 반복을 돌렸다
const fs = require('fs')
var input = fs.readFileSync('/dev/stdin').toString().split('\n')
var first = input[0].split(' ')
var second = input[1].split(' ')
var people = Number(first[0])
var m2 = Number(first[1])
var all = people * m2
for(i=0; i<5; i++){
var num = Number(second[i])
console.log(num-all)
}
그렇게 하니까 정답 처리가 되었다
그래서 map 함수가 틀렸나 확인을 하기위해 아래와 같이 작성을 해보았다
const fs = require('fs')
var input = fs.readFileSync('/dev/stdin').toString().split('\n')
var people = Number(input[0][0])
var m2 = Number(input[0][1])
var all = people * m2
for(i=0; i<5; i++){
var num = Number(input[1][i])
console.log(num-all)
}
하지만 이것도 틀렸다고 나왔다
그래서 입력값을 받는 부분에 문제인 것을 알았고 앞으로 여러줄을 받게되면 우선 줄로 분할한 다음
그다음 칸으로 분할해야겠다고 알게되었다
Author And Source
이 문제에 관하여(파티가 끝나고 난 뒤), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@qnrl3442/백준-파티가-끝나고-난-뒤저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)