본문 바로가기
CS/알고리즘 & 문제풀이

[Python] 백준 5557 1학년

by mintropy 2021. 12. 13.

문제 링크 : https://github.com/mintropy/baekjoon_py/blob/master/5000/5557.py

 

GitHub - mintropy/baekjoon_py

Contribute to mintropy/baekjoon_py development by creating an account on GitHub.

github.com

1. 접근 방법

처음에 문제를 잘못 읽어 해결법을 잘 접근하진 못했다.

문제를 몇차례 읽고, 잘 이해하고는 생각보다 쉬운 DP로 해결했다.

 

2. 풀이 코드

🖥python 코드 링크: https://github.com/mintropy/baekjoon_py/blob/master/5000/5557.py

 

GitHub - mintropy/baekjoon_py

Contribute to mintropy/baekjoon_py development by creating an account on GitHub.

github.com

📕코드 해설

입력의 마지막 값은 등식으로 오른쪽 변에 오는 값이므로, 21 * (N - 1) 리스트를 만들었다. 21 값은 계산 중 가능한 0 이상 20 이하의 값에 대한 각 식의 경우의 수를 저장하기 위한 값이고, 마지막 값을 제외한 N - 1번만 계산하면 된다.

단, 값이 해당 경우가 가능할 때, 그리고 계산 값이 0이상 20 이하일 때 값을 업데이트를 계속해준다.

 

3. 생각 정리

이번 문제도 문제를 잘 읽자가 중요했던 문제였다.

댓글