코딩 개발자의 하루/Python Programming

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

소자해커 2024. 1. 7. 19:09

심화 단계로 접어들었다.

이번 문제는 여러가지 방법을 떠오르게하는 문제였고, 그 중에서도 가장 효율을 찾아내는 연습을 할 수 있었다.

 

처음엔 goal 이라는 list를 생각해내지 못하고 if-elif-else문을 활용하려고 했으나 for반복문이 무의미해짐을 깨닫고 goal (list) 설정을 통해 주어지는 값을 고정할 수 있었다.

그리고, list 데이터타입끼리 뺄셈이 바로 적용되지 않기에(차집합으로 적용된다), zip() 함수를 처음으로 사용하였다.

 

zip() 함수는 두 개의 서로다른 list 값을 튜플형태로 데이터 압축시켜준다. 압축된 데이터 튜플 값을 각각 a, b로 불러와서 뺄셈을 진행해주는 메커니즘이다.


Chess = list(map(int, input().split(" ")))
goal = [1, 1, 2, 2, 2, 8]
need = []

for a, b in zip(goal, Chess):
    print(a-b,end=' ')

[수정 전/후]

 

*출처: https://www.daleseo.com/python-zip/