본문 바로가기

분류 전체보기

(333)
[백준 / BOJ] 12101 1, 2, 3 더하기 2 (cpp) 문제 출처 : https://www.acmicpc.net/problem/12101 12101번: 1, 2, 3 더하기 2 n을 1, 2, 3의 합으로 나타내는 방법 중에서 사전 순으로 k번째에 오는 것을 출력한다. k번째 오는 식이 없는 경우에는 -1을 출력한다. www.acmicpc.net 만들려는 숫자 n이 주어졌을때, n을 1,2,3을 이용해서 만들고 n을 만드는 경우의 수의 조합중 k번째를 찾아 출력하는 문제이다. 풀이 이런 유형의 DP를 풀어본적이 있어서 DP라고 착각했지만, n의 최댓값이 11로 작아서 완전탐색으로도 풀리는 문제다. 로직은 간단한데, 재귀를 이용해서 1,2,3으로 숫자 n을 만드는 모든 경우의 수를 저장해놓은다음 정렬 후 출력하면 된다. 주요 소스코드 void getComb(i..
[백준 / BOJ] 6209 제자리 멀리뛰기 문제 출처 : https://www.acmicpc.net/problem/6209 6209번: 제자리 멀리뛰기 첫 번째 줄에는 갇힌 돌섬으로부터 탈출구까지의 거리 d(1 ≤ d ≤ 1,000,000,000), 작은 돌섬의 수 n(0 ≤ n ≤ 50,000), 제거할 수 있는 작은 돌섬의 수 m (0 ≤ m ≤ n)이 공백으로 구분되어 주어진다. 두 www.acmicpc.net 시작지점(0번)에서 각각 일정 거리 떨어진 n개의 돌섬이 있다. 이때, n개의 돌섬중 m개를 제거하여 돌섬사이의 거리의 최솟값을 최대로 하는 문제이다. 풀이 문제에 나와있는 "최솟값을 최대"로 라는 키워드가 결정문제임을 알려주니 문제의 입력조건을 살펴보고 결정문제로 풀린다면 풀면 된다. 못 푼다면 DP로 풀면된다(모든 결정문제는 DP..
[Tistory Skin] CERULEAN_BLUE 무료 배포 Tistory Skin CERULEAN_BLUE 무료 배포 블로그에 "개인적으로 한 프로젝트를 홍보할 방법이 없을까" 고민하던중, 광고 배너 형식으로 블로그를 만들어 홍보하면 좋겠다 라는 생각을 하게 되어 만든 스킨입니다. 아래 사진과 같이 Banner 영역에 자신이 홍보하고싶은것을 사진형식으로 넣을수 있습니다. 여러가지 Banner를 넣을 수 있으며, 자동으로 인식하여 스크롤 및 하단의 "몇번째 배너인지 알려주는 점" 이 증가하게 됩니다. 자신의 배너를 삽입하는 방법은 아래와 같습니다. 1. 블로그 관리의 스킨편집에 들어갑니다. 2. 'html편집' 버튼을 누릅니다. 3. html편집창을 클릭하고 ctrl+f를 눌러 검색창을 연 후, Banner-tag를 입력하여 다음 코드를 찾습니다. 4. 위 코드 ..
[백준 / BOJ] 17403 가장 높고 넓은 성 (Graham scan) 문제 출처 : https://www.acmicpc.net/problem/17403 17403번: 가장 높고 넓은 성 첫 번째 줄에 n개의 정수 x1, x2, ..., xn을 공백으로 구분하여 출력한다. xi는 i 번째 표지판이 사용되었을 경우 사용된 층수이며, 사용되지 않았으면 0이다. www.acmicpc.net 2차원 평면에 n개의 표지판이 주어진다. 이 표지판을 이용해서 다음 규칙을 만족하는 가장 높은 성을 짓는 문제이다. - n층은 n-1층 위에 지어진다. 이때, 각 층은 최대한 넓어야하며, 가능한 한 적은 수의 표지판을 사용해야 한다. 풀이 컨벡스 헐 알고리즘으로 푸는 문제다. 논리는 간단한데, 1. 현재 선택되지않은 표지판을 이용해 가장 넓은 성을 만든다. 2. 남아있는 표지판을 이용해 가장 ..
[디자인패턴 / JAVA] 프렌드 접근자 패턴 [디자인패턴 / JAVA] 프렌드 접근자 패턴 API 개발하다보면 모듈화와 접근제어자의 노출도를 두고 트레이드 오프하는경우가 있다. 예를들어, API패키지를 지원하는 NONE-API패키지가 있을때, API패키지에서 NONE-API패키지의 메소드에 접근하기 위해선 메소드를 "public"으로 설정해야한다. package test.api; public final class api{ private final NoneApi noneApi; { noneApi = new noneApi(); } public void hello(){ noneApi.hello(); } } package test.noneapi; public final class NoneApi{ public void hello(){ return "hell..
[백준 / BOJ] 10891 Cactus? Not cactus? (cpp) 문제 출처 : https://www.acmicpc.net/problem/10891 10891번: Cactus? Not cactus? 첫 번째 줄에 그래프의 정점의 개수와 간선의 개수를 나타내는 두 정수 N,M (1 ≤ N,M ≤ 100,000) 이 공백으로 구분되어 주어진다. 다음 M개의 줄에는 간선이 연결하고 있는 두 정점을 나타내는 두 정 www.acmicpc.net 양방향 그래프에서 각 정점에서 시작해 자기 자신으로 돌아오는 사이클이 2개 이상이라면 Cactus가 아니며, 하나 이하라면 Cactus이다. 이 때, 주어진 그래프가 Cactus인지 Not cactus인지 출력하는 문제다. 풀이 처음에는 단절점을 찾고, 단절점에 대해 자식 트리가 2개 이상이라면 Not cactus를 출력하게 해줬는데, ..
[백준 / BOJ] 23247 Ten (Java) 문제 출처 : https://www.acmicpc.net/problem/23247 23247번: Ten Your program is to read from standard input. The input starts with two positive integers $m$ and $n$ ($1 \le m, n \le 300$), denoting the dimensions of the land, which are given separated by a space. Each of the following $m$ lines contains $n$ positive in www.acmicpc.net N*M그리드에서 A*B범위의 사각형을 만들때, 그 사각형 범위안에 포함된 원소의 합을 10으로 만드는 사각형 범위의 갯수..
[grpc] 4. grpc - Java [grpc] 4. grpc 목차 1. https://dlwnsdud205.tistory.com/326 [grpc] 1. grpc의 기반기술 - RPC 2. https://dlwnsdud205.tistory.com/327 [grpc] 2. grpc의 기반기술 - HTTP/2.0 3. https://dlwnsdud205.tistory.com/328 [grpc] 3. grpc의 기반기술 - Protocol Buffers와 성능 테스트 4. https://dlwnsdud205.tistory.com/329 [grpc] 4. grpc - Java 만일, RPC, HTTP/2.0, protocol buffers에 대해 모른다면 위 목차들을 순서대로 읽고 오도록 하자. 특히, protocol buffers 사용법은 g..