gold 40

백준(Python) 1644번 소수의 연속합 풀이

Python으로 구현한 1644번 소수의 연속합 문제 풀이입니다. https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net n = int(input()) is_prime = [False, False] + [True] * (n - 1) prime_list = [] for i in range(2, n + 1) : if is_prime[i] : prime_list.append(i) for j in range(i+i, n + 1, i) : is_prime[j] = False result = 0 start = 0 end = 0 while end

백준(Python) 17406번 배열 돌리기 4 풀이

Python으로 구현한 17406번 배열 돌리기 4 문제 풀이입니다. https://www.acmicpc.net/problem/17406 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net import copy def permutations(arr, r) : for i in range(len(arr)) : if r == 1 : yield [arr[i]] else : for next in permutations(arr[:i] + arr[i+1:], r - 1) : yield [arr[i..

백준(JAVA) 2580번 스도쿠 풀이

Java으로 구현한 2580번 스도쿠 문제 풀이입니다. https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net import java.io.*; import java.util.*; public class Main { static int[][] data; static List empty_list; public static void main(String[] args) throws Exception { BufferedReader br = new Buffere..

백준(Python) 2580번 스도쿠 풀이

Python으로 구현한 2580번 스도쿠 문제 풀이입니다. https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net data = [list(map(int, input().split())) for _ in range(9)] empty_list = [] for i in range(9) : for j in range(9) : if data[i][j] == 0 : empty_list.append((i, j)) def dfs(index) : if index ==..

백준(JAVA) 2661번 좋은수열 풀이

Java으로 구현한 2661번 좋은수열 문제 풀이입니다. https://www.acmicpc.net/problem/2661 2661번: 좋은수열 첫 번째 줄에 1, 2, 3으로만 이루어져 있는 길이가 N인 좋은 수열들 중에서 가장 작은 수를 나타내는 수열만 출력한다. 수열을 이루는 1, 2, 3들 사이에는 빈칸을 두지 않는다. www.acmicpc.net import java.io.*; public class Main { static int n; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); n = Integer.pa..

백준(Python) 2661번 좋은수열 풀이

Python으로 구현한 2661번 좋은수열 문제 풀이입니다. https://www.acmicpc.net/problem/2661 2661번: 좋은수열 첫 번째 줄에 1, 2, 3으로만 이루어져 있는 길이가 N인 좋은 수열들 중에서 가장 작은 수를 나타내는 수열만 출력한다. 수열을 이루는 1, 2, 3들 사이에는 빈칸을 두지 않는다. www.acmicpc.net def func(index) : global data for i in range(1, (index // 2) + 1) : if data[-i:] == data[-2*i:-i] : return -1 if index == n : for i in range(n) : print(data[i], end='') return 0 for i in range(1, ..

백준(Python) 17135번 캐슬 디펜스 풀이

Python으로 구현한 17135번 캐슬 디펜스 문제 풀이입니다. https://www.acmicpc.net/problem/17135 17135번: 캐슬 디펜스 첫째 줄에 격자판 행의 수 N, 열의 수 M, 궁수의 공격 거리 제한 D가 주어진다. 둘째 줄부터 N개의 줄에는 격자판의 상태가 주어진다. 0은 빈 칸, 1은 적이 있는 칸이다. www.acmicpc.net import copy # import sys # input = sys.stdin.readline def combinations(arr, r) : for i in range(len(arr)) : if r == 1 : yield [arr[i]] else : for next in combinations(arr[i+1:], r-1) : yield [..

백준(JAVA) 5430번 AC 풀이

Java으로 구현한 5430번 AC 문제 풀이입니다. https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int t = Integer.parseInt(br.readLin..

백준(Python) 17070번 파이프 옮기기 1 풀이

Python으로 구현한 17070번 파이프 옮기기 1 문제 풀이입니다. https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net n = int(input()) data = [list(map(int, input().split())) for _ in range(n)] # 0: 가로, 1: 세로, 2: 대각선 dp = [[[0] * n for _ in range(n)] for _ in range(3)] dp[0][0][1] = 1 #..

백준(Python) 16637번 괄호 추가하기 풀이

Python으로 구현한 16637번 괄호 추가하기 문제 풀이입니다. https://www.acmicpc.net/problem/16637 16637번: 괄호 추가하기 첫째 줄에 수식의 길이 N(1 ≤ N ≤ 19)가 주어진다. 둘째 줄에는 수식이 주어진다. 수식에 포함된 정수는 모두 0보다 크거나 같고, 9보다 작거나 같다. 문자열은 정수로 시작하고, 연산자와 정수가 www.acmicpc.net def func(i, q) : if i == n - 1 : no_use = q + [data[i]] return cal_q(no_use) if i == n - 3 : no_use = q + [data[i], data[i+1]] temp = cal_num(data[i], data[i+2], data[i+1]) use..