Baekjoon 문제 풀기 (2845번 : 파티가 끝나고 난 뒤)Python

2845번 : 파티가 끝나고 난 뒤

1. 문제읽기


입력과 출력

문제를 읽으면서 이해가 안갔는데 사실 입력과 출력만 읽으면 이해가 되는 문제.

2. 제출 코드


처음에 답을 list로 출력해서 틀렸다.
자신만만하게 제출했는데..
list[int]를 요소만 출력을 하는 방법을 기억을 못했다.
다행히 for문을 돌릴 때 append메소드 대신 문자열로 더하는 방법으로 해결!

막혔던 부분

  1. list없이 출력 : 문자열 출력으로 해결
L, P = map(int, input().split())
M = L*P
p_list = list(map(int, input().split()))
a = ""

for p in p_list:
    a += str(p-M)
    a += " "

print(a)

3. 공부할 것


  1. for문
    자바랑 또 헷갈려서 뒤에 괄호 쳤다가 IDE에서 빨간줄처리되서 겨우 발견함.
    파이썬에서 for문은 괄호 안쓴다..
  2. end= ''
    다른 사람들의 정답 코드를 보다 보니, end=''가 많이 보였다.
    원래 print함수가 출력 후 개행(줄바꿈)을 기본값으로 갖는데, 이 end옵션을 씀으로써 개행 대신 다른 문자열 등으로 옵션을 바꿀 수 있는 것이다.

end옵션을 써서 조금 더 간결하게 코드를 바꿔보자

L, P = map(int, input().split())
M = L*P
p_list = list(map(int, input().split()))

for p in p_list:
    print(p-M, end=' ')

댓글남기기