백준 624

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

Java으로 구현한 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 java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void mai..

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

Java으로 구현한 2156번 포도주 시식 문제 풀이입니다. https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedReader br..

백준(Python) 17822번 원판 돌리기 풀이

Python으로 구현한 17822번 원판 돌리기 문제 풀이입니다. https://www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀 www.acmicpc.net from collections import deque n, m, t = map(int, input().split()) data = [deque(int(x) for x in input().split()) for _ in range(n)] for tc in range(t) : x, d, k = map(int, input..

백준(Python) 14890번 경사로 풀이

Python으로 구현한 14890번 경사로 문제 풀이입니다. https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net n, l = map(int, input().split()) data = [list(map(int, input().split())) for _ in range(n)] result = 0 def pos(now) : for j in range(1, n) : if abs(now[j] - now[j-1]) > 1 : # 차이가 1이 넘으면 False 반환 return ..

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

Java으로 구현한 2193번 이친수 문제 풀이입니다. https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net // 1일 때 1 // 2일 때 1 // 3일 때 2 // 4일 때 3 // 5일 때 5 // 6일 때 8 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static..

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

Java으로 구현한 11057번 오르막 수 문제 풀이입니다. https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOExceptio..

백준(JAVA) 10844번 쉬운 계단 수 풀이

Java으로 구현한 10844번 쉬운 계단 수 문제 풀이입니다. https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { static long mod = 1000000000; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputS..

백준(Python) 20056번 마법사 상어와 파이어볼 풀이

Python으로 구현한 20056번 마법사 상어와 파이어볼 문제 풀이입니다. https://www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net from collections import deque dx = [-1, -1, 0, 1, 1, 1, 0, -1] dy = [0, 1, 1, 1, 0, -1, -1, -1] n, m, k = map(int, input().split()) q = deque() data = [[deque..

백준(JAVA) 9095번 1, 2, 3 더하기 풀이

Java으로 구현한 9095번 1, 2, 3 더하기 문제 풀이입니다. https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System..

백준(Python) 17779번 게리맨더링 2 풀이

Python으로 구현한 17779번 게리맨더링 2 문제 풀이입니다. https://www.acmicpc.net/problem/17779 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름 www.acmicpc.net n = int(input()) data = [[0] * (n + 1)] + [[0] + list(map(int, input().split())) for _ in range(n)] total = 0 for i in range(1, n + 1) : total += sum(data[i]) def solution(x, y, d1, d2) : ..