Heram's Studyroom 자세히보기

CODES/백준 | Solved.ac

[ 백준 파이썬 문제풀이 ] 단계별로 풀어보기 / 6-2 심화 1 킹, 퀸, 룩, 비숍, 나이트, 폰 #3003

Heram06 2025. 5. 22. 07:24
반응형

[ 백준 파이썬 문제풀이 ] 단계별로 풀어보기 / 6-2 심화 1  킹, 퀸, 룩, 비숍, 나이트, 폰 #3003

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

 

 


 

문제 📢

동혁이는 오래된 창고를 뒤지다가 낡은 체스판과 피스를 발견했다.

체스판의 먼지를 털어내고 걸레로 닦으니 그럭저럭 쓸만한 체스판이 되었다. 하지만, 검정색 피스는 모두 있었으나, 흰색 피스는 개수가 올바르지 않았다.

체스는 총 16개의 피스를 사용하며, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성되어 있다.

동혁이가 발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올바른 세트가 되는지 구하는 프로그램을 작성하시오.

 

 

입력 

출력

첫째 줄에 동혁이가 찾은
흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다.
이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다.
첫째 줄에 입력에서 주어진 순서대로
몇 개의 피스를 더하거나 빼야 되는지를 출력한다.
만약 수가 양수라면 동혁이는
그 개수 만큼 피스를 더해야 하는 것이고,
음수라면 제거해야 하는 것이다.

예제 입력 🎨

 

나의 알고리즘  🎻

 

이 문제는 입력받은 피스의 개수에서 문제에서 제시된 기준 피스 개수를 빼서 몇 개를 더하거나 빼야 올바른 세트가 되는지 구하면 될 것 같다

  • 입력받은 각각의 흰색 피스 갯수를 리스트에 저장
  • 문제에서 제시된 피스의 개수를 리스트에 입력
  • 두 리스트 요소들의 차를 출력

 

내가 적은 답안 💡

import sys

N_list = list(map(int, sys.stdin.readline().split()))
C_list = [1, 1, 2, 2, 2, 8]

print(' '.join(map(lambda a, b: str(a - b), C_list, N_list)))

 

 


 

이 블로그는 개발자를 꿈꾸는 사람이 열심히 공부하며 적어가는 공간입니다.

제 답안과 풀이가 다를 수 있지만, 정확한 정보를 위해 여러 번 검토하며 적겠습니다!

반응형