한 걸음씩

[백준][python] 3003 킹, 퀸, 룩, 비숍, 나이트, 폰 본문

BOJ

[백준][python] 3003 킹, 퀸, 룩, 비숍, 나이트, 폰

winter17 2023. 2. 12. 18:34

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

 

3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰

첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다.

www.acmicpc.net

풀이 과정 

1. 주어진 체스 피스 개수를 리스트로 만들어주고 동혁이가 입력할 체스 피스 개수도 리스트로 만들어준다

2. 몇 개의 피스가 부족하고 넘치는지 담을 새 리스트를 생성한다 (new_chess)

3. [방법1] 조건문을 이용해 0일때, 0보다 클 때, 0보다 작을 때를 나눠서 출력한다 44ms

4. [방법2] 조건문 없이 append함수만을 이용해서 출력한다 40ms

chess = [1, 1, 2, 2, 2, 8]
donghuk = list(map(int, input().split()))

new_chess = []

# 조건문 사용하는 방법 1
# for i in range(6):
#     if chess[i] - donghuk[i] == 0:
#         new_chess.append(chess[i] - donghuk[i])
#     elif chess[i] - donghuk[i] > 0:
#         new_chess.append(chess[i] - donghuk[i])
#     elif chess[i] - donghuk[i] < 0:
#         new_chess.append(chess[i] - donghuk[i])
# print(*new_chess)

# 조건문 없이 append만하는 방법 2
for i in range(6):
    new_chess.append(chess[i] - donghuk[i])
print(*new_chess)

리뷰

처음 제출 때 [방법1]로 풀었다가 [방법2]로 해도 될 것 같아서 수정하였다

문제만 잘 읽어보면 어렵지 않은 문제다