[백준][Python][14891][시뮬레이션] 톱니바퀴
문제 : https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 시계방향 순서대로 주어진다. N극은 0, S극은 1로 나타나있다. 다섯째 줄에는 회전 횟수 K(1 ≤ K ≤ 100)가 주어진다. 다음 K개 줄에는 회전시킨 방법이 순서대로 주어진다. 각 방법은 두 개의 정수로 이루어져 있고, 첫 번째 정수는 회전시킨 톱니바퀴 www.acmicpc.net 방향 헷갈리지 말자. [1,2,3,4,5,6,7,8] 일때 시계방향 -> [8,1,2,3,4,5,6,7] 반시계방향 -> [..
더보기
[백준][Python][11722][DP]가장 긴 감소하는 부분 수열
문제 : https://www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} 이고, 길이는 3이다. www.acmicpc.net 2020/02/19 - [취준/백준] - [백준][Python][11053][DP]가장 긴 증가하는 부분 수열 불러오는 중입니다... 이 문제에서 배열만 거꾸로 돌면된다. import sys n = int(sys.stdin.readline()) line = [int(i) for i in sy..
더보기
[백준][Python][1309][DP] 동물원
문제 : https://www.acmicpc.net/problem/1309 1309번: 동물원 첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다. www.acmicpc.net DP 문제다. 예전에 풀어서 그런지 기억이 안났다. 이 문제는 n번째를 n-1, n-2 번째로 각각 나눠서 확인해야 한다. n-1 번째에 [0,X][X,0] 일때 n 번째에서는 각각 [X,0][0,X] 할 수 있는 경우의 수가 있다. 그리고 n-1 번째에 아무것도 놓지 않는 방법의 수, [0,0] 의 수가 있다. 이 때는 어디든 놓을수 있다. 따라서, dp[n] = dp[n-1]* 2 + dp[n-2]의 경우의 수가 있다. import sys n = int(sys.stdin.readline()) dp = [1,3] for..
더보기