알고리즘(백준, 프로그래머스)/[백준] BronzeⅣ

[백준 2845 / 파이썬 / solved.ac ] 파티가 끝나고 난 뒤

마법사 코딩공주 2022. 11. 22. 12:10
728x90
반응형

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

 

2845번: 파티가 끝나고 난 뒤

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

www.acmicpc.net

문제

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

지난주 토요일에 상근이는 자신의 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

 

풀이:

답을 list에 넣어 다시 문자열로 출력

l, p = map(int, input().split())
news = list(map(int, input().split()))
ans = []

if (1 <= l <= 10) and (1 <= p <= 1000):
    sang = l * p
    for i in news:
        ans.append(i - sang)

for i in ans:
    print(i, end=' ')

하지만 list에 추가하지 않고 바로 문자열로 출력할 수 있음.(아래 해당코드)

l, p = map(int, input().split())
news = list(map(int, input().split()))
for i in news:
    print(i - l * p, end = ' ')
728x90
반응형