Koala - 10기

https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net 문제분석 소스코드 where = [[False] * 100 for _ in range(100)] N = int(input()) for _ in range(N): row,col = map(int,input().split()) for i in range(row, row+10): for j in range(col,col+10): where[i][j] = True space = 0 for i in where..
[Problem] [Solution] arr배열과 brr배열에는 A와 B가 가지고 있는 카드 숫자를 저장한다. sum_a는 A의 최종 점수를, sum_b에는 B의 최종 점수를 저장한다. num 은 A와 B가 공개한 숫자가 같은 경우가 몇 번 있었는지 세기 위한 변수이다. flag는 누가 마지막으로 이겼는지 확인하기 위한 변수이다.(flag값이 0이면 A가 flag값이 1이면 B가 마지막으로 이긴 것) 1. arr배열과 brr배열에 숫자를 입력받는다. 2. for문을 활용하여 0부터 9까지 수행한다. 2-1. arr[i]값이 brr[i]값보다 큰 경우 flag에 0을 저장하고 sum_a에 3을 더한다. 2-2. arr[i]값이 brr[i]값보다 작은 경우 flag에 1을 저장하고 sum_b에 3을 더한다...
https://www.acmicpc.net/problem/9251 문제 LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. 입력 첫째 줄과 둘째 줄에 두 문자열이 주어진다. 문자열은 알파벳 대문자로만 이루어져 있으며, 최대 1000글자로 이루어져 있다. 출력 첫째 줄에 입력으로 주어진 두 문자열의 LCS의 길이를 출력한다. 처음에 시간제한이 0.1초길래 완탐으로는 못풀겠구나 했는데 역시 틀림 그래서 얌전히 DP로 해결했습니다 점화식을 떠올리기 힘들었는데, 한 블로거의 잘 정리된 글을 읽고 이차원배열을 이용해서 해결함..
문제코드 #include using namespace std; int dp[1001]; int main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; dp[1] = 1; dp[2] = 2; for (int i = 3; i
16395번: 파스칼의 삼각형 (acmicpc.net) 16395번: 파스칼의 삼각형 파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행 www.acmicpc.net 소스코드 코드설명 n번째 행의 k번째 수를 찾기위해 n,k 입력 받음 n이 1 또는 2이면 행에 1만 존재하기 때문에 k의 값과 없이 1 출력 n이 3 이상일 때 2행 [1,1]인 dp 생성, dp를 copy한 dp2 생성 3행부터 생성하므로 3 = n 범위 내에서 반복 dp2는 새로 생성한 행, dp는 새로운 행을 생성하기 위해 이용하는 행이므로 dp를 dp2로 업데이트 fun(i) 함수를 이용..
문제 https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net Algorithm 같은 책을 입력 받으면 책의 개수를 +1 해주어야 하기 때문에 딕셔너리를 사용해야겠다고 생각했다. 책을 입력받으면 딕셔너리 D에 저장하는데, 처음 저장되는 경우에는 D[책이름] = 1로 만들어준다. 그 외에는 D[책이름]+=1을 해준다. 입력이 끝나면 arr라는 리스트에 딕셔너리 D의 items()값을 넣어준다. arr = [[책이름, 개수], ...] 이렇게 저장이..
https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 문제 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 (ai, aj)쌍의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 수열의 크기 n이 ..
https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net public class s_1931 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int ans = 0; int[][] arr = new int[n][2]; for (int i = 0; i < n; i++) { StringTokenizer st =..
정답 풀이 import sys from collections import deque N, Q = map(int, sys.stdin.readline().split()) # make weighted graph G = {n:deque() for n in range(1, N+1)} for _ in range(N - 1): p, q, v = map(int, sys.stdin.readline().split()) G[p].append((q,v)) G[q].append((p,v)) for _ in range(Q): ki, vi = map(int,sys.stdin.readline().split()) visited, queue, ans = [0]*(N+1), deque(), 0 # BFS visited[vi] = 1 fo..
https://www.acmicpc.net/problem/20540 20540번: 연길이의 이상형 졸업을 앞둔 연길이는 크리스마스가 다가올수록 외로움을 느낀다. 그런 연길이를 위해 동우는 소개팅을 시켜주지는 않고 연길이의 이상향을 찾는 것을 도와주고자 한다. MBTI 신봉자인 연길이는 www.acmicpc.net [Problem] [Code] y=list(input()) a=['E','S','T','J'] b=['I','N','F','P'] for i in range(len(y)): if y[i]==a[i]: print(b[i],end='') else: print(a[i],end='') [Solution] 첫줄에서 연길이의 MBTI를 입력받은 후 y 에 넣어준다. 배열 a,b를 지정하여 서로 다른 mbt..
문제 https://www.acmicpc.net/problem/1895 1895번: 필터 숫자 9개가 오름차순이나 내림차순으로 정렬되어 있을 때, 중앙값은 다섯 번째 숫자이다. 예를 들어, 1, 3, 4, 1, 2, 6, 8, 4, 10의 중앙값은 4이다. (1 ≤ 1 ≤ 2 ≤ 3 ≤ 4 ≤ 4 ≤ 6 ≤ 8 ≤ 10) 이미지 I는 www.acmicpc.net Algorithm 2차원 배열 A와 3x3 크기의 필터 K에 대해 B의 좌측 상단 부분을 A의 좌측 상단에 맞추고 필터 K를 오른쪽으로 한 칸씩 옮기고 오른쪽으로 더이상 옮길 수 없을 때는 아래로 한 칸 옮기고 아래로도 움직일 수 없을 때까지 같은 과정을 반복한다. 이 과정을 반복하는 동안 K와 A가 겹치는 영역에 해당하는 원소들로 이루어진 li..
https://www.acmicpc.net/problem/13423 13423번: Three Dots 직선 위에 서로 다른 N개의 점이 찍혀 있다. 점 i의 위치는 Xi이다. N개의 점 중 3개를 골라 가장 왼쪽에 있는 점을 a, 가운데 있는 점을 b, 가장 오른쪽에 있는 점을 c라고 하자. 각각의 점의 위치는 www.acmicpc.net RESULT """pypy3""" from collections import defaultdict import sys input = sys.stdin.readline for _ in range(int(input())): n = int(input()) li = sorted(list(map(int, input().split()))) ans = 0 dd = defaultdi..
KauKoala
'Koala - 10기' 카테고리의 글 목록 (8 Page)