2854번 : 파티가 끝나고 난 뒤

상환·2021년 12월 2일
0
post-thumbnail

문제

파티가 끝나고 나면, 사람들은 누가 파티에 왔는지와 얼마나 많은 사람들이 왔는지를 궁금해한다. 보통 파티는 매우 크게 열리기 때문에, 정확하게 몇 명이 참가했는지 알 수가 없다.

지난주 토요일에 상근이는 자신의 3학년 진학을 기념하면서 매우 성대한 파티를 열었다. 그리고, 상근이는 1m2당 몇 명의 사람이 있었는지 알고있다.

상근이의 파티는 정말 엄청난 규모였기 때문에, 대부분의 신문에도 기사가 실렸다. 상근이는 서로 다른 5개의 신문을 보면서 그 기사에 적혀져있는 참가자의 수를 적었다.

상근이는 자신이 알고있는 참가자의 수가 정확하다고 생각한다. 각 신문 기사에 실려있는 참가자의 수가 몇 명 만큼 잘못되어있는지 구하는 프로그램을 작성하시오.

입출력

1. 입력

첫째 줄에 1m^2당 사람의 수 L (1 ≤ L ≤ 10)과 파티가 열렸던 곳의 넓이 P (1 ≤ P ≤ 1000)가 주어진다.

둘째 줄에는 각 기사에 실려있는 참가자의 수가 주어진다. 10^6보다 작은 양의 정수 5개가 주어진다.

2. 출력

출력은 첫째 줄에 다섯 개의 숫자를 출력해야 한다. 이 숫자는 상근이가 계산한 참가자의 수와 각 기사에 적혀있는 참가자의 수의 차이이다.

풀이

문제의 핵심은 조건이다. 각 입력값 별 조건을 지켜서 풀면 된다. 각 기사에 실려있는 참가자의 수는 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)+" ");
        }
    }
}

결과는

풀었다.

kotlin code

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}")
    }
}
profile
레모네이드 커피

0개의 댓글