문제 www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 소스코드 n, m = map(int, input().split()) tree = list(map(int, input().split())) start = 1n, m = map(int, input().split()) tree = list(map(int, input().split())) start = 1 end = max(tree) while startmid: sum +=..
문제 www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 소스코드 def find_num(start, end, i): if start>end: return 0 m = (start+end)//2 if i == a[m]: return 1 elif i > a[m]: return find_num(m+1, end, i) else: return find_num(start, m-1, i) n = int(input()) a = list(map(i..
문제 www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 풀이 일반 반복문으로 풀게되면 시간초과가 뜬다. 이분법을 사용하여 풀어야한다. A = [ 4, 1, 5, 2, 3 ] B = [ 1, 3, 7, 9, 5 ] 주어졌을 때, A를 오름차순으로 정렬시킨다. A = [ 1, 2, 3, 4, 5 ] B = [ 1, 3, 7, 9, 5 ] A의 첫번째 인덱스를 start에 넣고, 마지막 인덱스를 end 에 넣은 후 시..
www.acmicpc.net/problem/1260 소스코드 def dfs(x): print(x, end = " ") visit[x] = 1 for i in range(1, n+1): if s[i][x] == 1 and visit[i] == 0: dfs(i) def bfs(v): que = [] que.append(v) while que: x = que.pop(0) visit[v] = 0 print(x, end = ' ') for i in range(1, n+1): if s[x][i] == 1 and visit[i] == 1: que.append(i) visit[i] = 0 n, m, v = map(int, input().split()) s = [[0]*(n+1) for i in range(n+1)] f..
www.acmicpc.net/problem/15922 풀이 먼저 첫번째 [x, y] 값을 x, y 변수에 각각 담아준다. 그리고 n-1번 반복되는 for문 안에서 새로운 정수쌍에 대해 xx, yy로 입력받는다. 전에 입력받은 x, y 와 비교하여 선분의 길이를 구하면 된다. 1. x == xx 일 때 y의 값만 yy로 바꿔준다. 2. y>=xx and yy>y 일 때 y의 값만 yy로 바꿔준다. 3. y=xx and yy>y: y = yy elif y
www.acmicpc.net/problem/11497 11497번: 통나무 건너뛰기 남규는 통나무를 세워 놓고 건너뛰기를 좋아한다. 그래서 N개의 통나무를 원형으로 세워 놓고 뛰어놀려고 한다. 남규는 원형으로 인접한 옆 통나무로 건너뛰는데, 이때 각 인접한 통나무의 높이 www.acmicpc.net 풀이 입력된 리스트를 오름차순으로 정렬한 뒤, 인덱스 값 차이가 2인 값으로 뛰게된다면 난이도를 최소로 만들 수 있다. 소스코드 n = int(input()) for i in range(n): arr = [] m = int(input()) arr = list(map(int, input().split())) arr.sort() max = 0 for j in range(len(arr)-2): if (arr[j+2..
www.acmicpc.net/problem/1461 1461번: 도서관 첫째 줄에 책의 개수 N과, 세준이가 한 번에 들 수 있는 책의 개수 M이 주어진다. 둘째 줄에는 책의 위치가 주어진다. N은 10,000보다 작거나 같은 자연수이고, M은 10,000보다 작거나 같다. 책의 위치 www.acmicpc.net 풀이 예제 입력으로 보자. 7 2 -37 2 -6 -39 -29 11 -28 먼저, 음수부분과 양수부분을 나눠준다. 음수부분 -> minus 리스트에 abs() 절대값을 씌워준 후, 내림차순 정렬 [39, 37, 29, 28, 6] 양수부분 -> plus 리스트에 내림차순 정렬 [11, 2] 직접 계산을 해보면 쉽게 알겠지만, 책 두 개를 가지고 11들렸다가 2들렸다가 제자리로 돌아가는 걸음의 ..
- Total
- Today
- Yesterday
- poker swea
- 삼성청년SW아카데미
- 1240 자바
- 백준파이썬
- 파이썬
- union-find
- 프로그래머스 더 맵게
- yoloV3
- 더 맵게
- 프로그래머스 자바
- 1699 자바
- 백준 dp 문제
- 3996 자바
- ubuntu
- 우분투
- SSAFY
- swea 4070 타일링
- 백준 풀이
- 백준 17144
- swea 타일링
- 프로그래머스 파이썬
- swea 1240 자바
- 프로그래머스
- 메뉴리뉴얼 풀이
- swea 1240
- 백준
- 파이썬 풀이
- swea 타일링 자바
- 타일링 자바
- SWEA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |