일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 라피신
- MethodArea
- StackArea
- generics
- javac
- 도커네트워크
- 42seoul
- 참조변수
- 바이트코드
- 제네릭스
- SRP
- 이노베이션아카데미
- JVM
- classloader
- 자바컴파일러
- java
- RDD
- 포함관계
- 운영체제
- 상속관계
- JIT
- LSP
- Operating System
- Compiler
- jdk
- HeapArea
- la-piscine
- abstract
- pg_hba.conf
- 42서울
- Today
- Total
목록CS/baekjoon (71)
while(1) 작심삼일();
http://www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 www.acmicpc.net 풀이) 1929(소수 구하기)와 같은 방법으로, 소수 구하는 알고리즘을 다시 사용했다. 미리 입력값 범위에 해당하는 소수를 다 구해놓고 i와 n - i가 소수인지 확인한 후 출력해주었다. 차이가 가장 커야하므로 결과가 나오면 바로 탈출시켜주었다. #include using namespace std; int prime[1000001]; int is_prime(int n) { i..
http://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 풀이) 2579(계단 오르기)문제와 비슷한 유형이다. 그때는 2차원으로 풀었는데 이번 문제는 조금 더 간결하게 접근해보았다. 포도주는 마시는 방법은 3가지이다. 1) 첫번째 마신 포도주 dp[i - 2] + arr[i] 가 그 경우이다. 직전안마시고 i번째가 처음 마신 잔이 되는 경우이다. 2) 두번째 마신 포도주 dp[i - 3] + arr[i - 1] + arr[i]이다. 직전에 먹고 그 다음 먹..
http://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 풀이) 1. 집들의 좌표를 정렬을 한다. 2. 정렬된 좌표를 기준으로 Start = 1, End = 가장 멀리 있는 집 좌표 - 가장 가까이 있는 집 좌표로 놓고, 이분탐색을 진행한다. 3. 이분탐색을 진행할 때마다 mid가 집 사이 간격에 포함되는 갯수를 세고, 이것과 내가 가지고 있는 공유기 수를 비교하여 적합한지 확인을 한다. #include..
http://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 풀이) c로 입력받을 때는 1개씩 끊어서 받기위해서 "%1d"을 사용하면 되지만, cpp에선 되지않는다. 이럴 때 char tmp;를 하나 선언해놓고 한개씩 받는 방법도 사용해볼 수 있다. 1780(종이의 개수)와 비슷한 분할정복문제였고, 해당 크기가 같지 않으면 재귀 앞뒤로 (, )출력해주고 4곳 좌표 잡아서 재귀를 돌려주면 된다. #include using namespace std;..
http://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1≤N≤26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 영문자 www.acmicpc.net 풀이) 재귀가 호출되고, 끝나는 시점만 헷갈리지 않으면 쉽게 풀 수 있었던 문제이다. #include using namespace std; int A[27][2]; void preorder(int x) { if (x == -1) return; cout x >> y >> z; x -= 'A'; A[x][0] = y != '.' ? y - 'A' : -1; A[x][1] = z != '.' ? z..
http://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 풀이) 이동횟수는 항상 2^n - 1이 되고, 문제를 크게 3단계로 나누어서 보면 이해가 편하다. 1) N - 1개의 원반을 2번째 축으로 옮긴다. 2) 가장 큰 1개의 원반(맨 밑에 있던)을 3번째 축으로 옮긴다. 3) 2번째 축에 있던 N -1개의 원반을 3번째 축으로 옮긴다. #include using namespace std; void disk(int N, int first, i..