백준 624

백준(Python) 11722번 가장 긴 감소하는 부분 수열 풀이

Python으로 구현한 11722번 가장 긴 감소하는 부분 수열 문제 풀이입니다. https://www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net import sys input = sys.stdin.readline a = int(input()) data = list(map(int, input().split())) dp = [1] * a for i in range(a) : for j in..

백준(Python) 11055번 가장 큰 증가 부분 수열 풀이

Python으로 구현한 11055번 가장 큰 증가 부분 수열 문제 풀이입니다. https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net import sys input = sys.stdin.readline a = int(input()) data = list(map(int, input().split())) dp = [i for i in data] for i in range(a) : for j in ..

백준(Python) 11053번 가장 긴 증가하는 부분 수열 풀이

Python으로 구현한 11053번 가장 긴 증가하는 부분 수열 문제 풀이입니다. https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) data = list(map(int, input().split())) dp = [1] * n for i in range(n) : for j ..

백준(Python) 2156번 포도주 시식 풀이

Python으로 구현한 2156번 포도주 시식 문제 풀이입니다. https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net n = int(input()) wine = [] for i in range(n) : wine.append(int(input())) dp = [0] * n dp[0] = wine[0] if n > 1 : dp[1] = wine[0] + wine[1] if n > 2 : dp[2] = max(wine[2] + wine[1], wine[2]..

백준(Python) 2193번 이친수 풀이

Python으로 구현한 2193번 이친수 문제 풀이입니다. https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net # 1 : 1 (1가지) # 2 : 10 (1가지) # 3 : 101, 100 (2가지) # 4 : 1000, 1010, 1001 (3가지) # 5 : 10000, 10001, 10010, 10100, 10101 (5가지) def solution(n) : if n == 1 or n == 2 : return 1 if n == 3 ..

백준(Python) 11057번 오르막 수 풀이

Python으로 구현한 11057번 오르막 수 문제 풀이입니다. https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net n = int(input()) dp = [[0] * 10 for i in range(n)] dp[0] = [1 for i in range(10)] for i in range(1, n) : sum_value = 0 for j in range(10) : for k in range(j + 1) : dp[..

백준(Python) 10991번 별 찍기 - 16 풀이

Python으로 구현한 10991번 별 찍기 - 16 문제 풀이입니다. https://www.acmicpc.net/problem/10991 10991번: 별 찍기 - 16 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net n = int(input()) count = n - 1 for i in range(1, n + 1) : print(' ' * count, end='') print('* ' * i) count -= 1 1. 초기 공백의 개수는 n - 1개로 설정하여 count를 정의한다. 2. 반복문의 범위는 출력해야할 '*'을 기준으로 하여 1부터 n + 1 까지로 설정한다. 3. 하나의 반복문 작업이 끝날 때마다 공백을 의미하는 count값을 1씩 감소시키도록 하고, '..

백준(Python) 2442번 별 찍기 - 5 풀이

Python으로 구현한 2442번 별 찍기 - 5 문제 풀이입니다. https://www.acmicpc.net/problem/2442 2442번: 별 찍기 - 5 첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다. www.acmicpc.net n = int(input()) count = n - 1 for i in range(1, 2*n, 2) : print(' ' * count, end='') print('*' * i) count -= 1 1. 출력 형식을 확인해보면 공백은 n-1개부터 출력되어 하나씩 줄어들기 때문에 초기설정은 n - 1 값으로 한다. 2. 반복문의 범위는 출력될 '*' 을 기준으로 하여, 1부터 2..

백준(Python) 1924번 2007년 풀이

Python으로 구현한 1924번 2007년 문제 풀이입니다. https://www.acmicpc.net/problem/1924 1924번: 2007년 첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다. www.acmicpc.net a = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'] b = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] x, y = map(int, input().split()) day = 0 for i in range(0,..

백준(Python) 19237번 어른 상어 풀이

Python으로 구현한 19237번 어른 상어 문제 풀이입니다. https://www.acmicpc.net/problem/19237 19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net n, m, k = map(int, input().split()) # 모든 상어의 위치와 방향 정보를 포함하는 2차원 리스트 array = [] for i in range(n) : array.append(list(map(int, input().split()))) # 모든 상어의 현재 방향 정..