파티가 끝나고 나면, 사람들은 누가 파티에 왔는지와 얼마나 많은 사람들이 왔는지를 궁금해한다. 보통 파티는 매우 크게 열리기 때문에, 정확하게 몇 명이 참가했는지 알 수가 없다.
지난주 토요일에 상근이는 자신의 3학년 진학을 기념하면서 매우 성대한 파티를 열었다. 그리고, 상근이는 1m2당 몇 명의 사람이 있었는지 알고있다.
상근이의 파티는 정말 엄청난 규모였기 때문에, 대부분의 신문에도 기사가 실렸다. 상근이는 서로 다른 5개의 신문을 보면서 그 기사에 적혀져있는 참가자의 수를 적었다.
상근이는 자신이 알고있는 참가자의 수가 정확하다고 생각한다. 각 신문 기사에 실려있는 참가자의 수가 몇 명 만큼 잘못되어있는지 구하는 프로그램을 작성하시오.
첫째 줄에 1m^2당 사람의 수 L (1 ≤ L ≤ 10)과 파티가 열렸던 곳의 넓이 P (1 ≤ P ≤ 1000)가 주어진다.
둘째 줄에는 각 기사에 실려있는 참가자의 수가 주어진다. 10^6보다 작은 양의 정수 5개가 주어진다.
출력은 첫째 줄에 다섯 개의 숫자를 출력해야 한다. 이 숫자는 상근이가 계산한 참가자의 수와 각 기사에 적혀있는 참가자의 수의 차이이다.
문제의 핵심은 조건이다. 각 입력값 별 조건을 지켜서 풀면 된다. 각 기사에 실려있는 참가자의 수는 10^6보다 작으므로 int형을 사용하면 된다.
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int person = scanner.nextInt(); //1m^2당 사람수
int width = scanner.nextInt(); //면적
//기사별 사람 수
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
int d = scanner.nextInt();
int e = scanner.nextInt();
if((person >= 1 || person <= 10) && (width>=1 || width<=1000)){
int realCount = width*person;
System.out.print((a-realCount)+" "+(b-realCount)+" "+(c-realCount)+" "+(d-realCount)+" "+(e-realCount)+" ");
}
}
}
결과는
풀었다.
import java.util.*
fun main() {
val scan = Scanner(System.`in`)
val person = scan.nextInt()
val width = scan.nextInt()
val a = scan.nextInt()
val b = scan.nextInt()
val c = scan.nextInt()
val d = scan.nextInt()
val e = scan.nextInt()
if ((person >= 1 || person <= 10) && (width >= 1 || width <= 1000)) {
val realCount = person*width
print("${a-realCount} ${b-realCount} ${c-realCount} ${d-realCount} ${e-realCount}")
}
}