파이썬 5

[백준/Python] 1780번: 종이의 개수

📖 문제 링크 https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 👩‍💻 문제풀이 백준 2630 - 색종이 만들기 문제를 먼저 풀면 쉽게 해결할 수 있다. 2630번은 각 변을 2개로 나눠가는 문제였다면, 본 문제는 3개로 나눈다. 9사분면을 만들 수 있도록 행렬을 나눠주면 쉽게 해결 가능! ✅ 최종 코드 import sys input = sys.stdin.readline n = int(input()) paper = [list(map(i..

알고리즘/Python 2022.03.03

[백준/Python] 2011 암호코드

📖 문제 링크 https://www.acmicpc.net/problem/2011 2011번: 암호코드 나올 수 있는 해석의 가짓수를 구하시오. 정답이 매우 클 수 있으므로, 1000000으로 나눈 나머지를 출력한다. 암호가 잘못되어 암호를 해석할 수 없는 경우에는 0을 출력한다. www.acmicpc.net 👩‍💻 문제풀이 DP문제 로드맵의 거의 마지막 문제인데 도저히 규칙도 안 찾아져서...^^ 이러한 유형의 문제를 익힌다는 생각으로 아래의 블로그를 따라 작성하였다. https://archive-me-0329.tistory.com/23?category=965963 백준 2011 파이썬 https://www.acmicpc.net/problem/2011 2011번: 암호코드 나올 수 있는 해석의 가짓수를 ..

알고리즘/Python 2022.01.23

[백준/Python] 1699 제곱수의 합

https://www.acmicpc.net/problem/1699 1699번: 제곱수의 합 어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다 www.acmicpc.net 정말 단순하게도 '제곱수들을 N번째 숫자까지 모두 저장해놓고 큰 수부터 빼면 구해지지 않을까?'라고 생각했다. 하지만 곧 반례를 찾았고, 이미 위와같은 생각에 사로잡혀 다른 방법이 도저히 떠오르지 않았다. 심지어 백준님의 강의로 해설을 듣고 나서도 대체 이것이 어떻게 구현된다는 말인지 아직까지도 이해가 안 되고 있다....... 대충 50% 정도의 현 이해력..

알고리즘/Python 2022.01.18

[백준/Python] 11054 가장 긴 바이토닉 부분 수열

https://www.acmicpc.net/problem/11054 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 가장 긴 증가 부분 수열과 가장 긴 감소 부분 수열을 적용하여, 그 결과를 합하면 해결이 될 것이라 생각했다! 하지만 백준 반례를 도입해서 고민해봐도 도저히 답이 찾아지지 않아 해답을 찾아보았다. 내가 실수했던 것은, 그저 증가수열과 감소수열의 결과에서 각각의 최댓값을 더하면 된다고 생각한 것이었다. 바이토닉 부분 수열이란, 계속 증가되던 부분 수열의 최댓값에서 -> 다시 감소되기 시작하는 수열을 말하는 것! 이해가..

알고리즘/Python 2022.01.18

[백준/Python] 2156 포도주 시식

https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 처음 세운 규칙은 1. 현재 잔(w4)+이전 잔(-1)+전전 잔(-3) 2. 현재 잔(w4)+전전 잔(-2)+그이전 잔(-3) 이렇게 두가지 경우로 식을 세워서 풀어보았지만 실패! 그래서 다른 분들의 백준 풀이를 찾아보니, 현재 잔을 마시지 않는 경우를 포함해야한다는 것을 깨달았다. 1. 현재 잔(w4)+이전 잔(w3)+전전 잔(w1) 2. 현재 잔(w4)+전전 잔(w2)+그이전 잔(w1) 3. 현..

알고리즘/Python 2022.01.17