본문 바로가기

전체 글657

[CodeJam][2017] Ratatouille - Round1A ProblemB 문제 : https://code.google.com/codejam/contest/5304486/dashboard#s=p1 그리디로 풀었다.6번 case로 예를 들어보자. 3 370 80 901260 1500 700800 1440 16001700 1620 900cs 입력으로 받은 Q배열을 재료별로 오름차순 정렬한다. 700 1260 1500800 1440 1600900 1620 1700cs 이제 각 재료를 cnt 개 사용해서 만들 수 있는 패키지를 구한다.cnt는 1부터 시작한다.각 재료의 그램 수는 처음 입력에서 본 것과 같이 각각 70, 80, 90 이다. 먼저 각 재료들 하나로 만들 수 있는 패키지(Q)는 없다.하나인 경우 -> [63~77, 72~88, 81~99]. 만들 수 있는 패키지가 있을 때.. 2019. 2. 8.
[CodeJam][2017] Alphabet Cake - Round1A ProblemA 문제 : https://code.google.com/codejam/contest/5304486/dashboard#s=p0 A ? ?? ? ?? ? Ccs 위와 같은 배열이 인풋으로 주어졌다고 하자. A A A? ? ?? ? Ccs먼저 행을 왼쪽 부터 탐색하면서 이전에 나온 알파벳으로 채운다. A A A? ? ?C C Ccs이후 행을 오른쪽부터 탐색하면서 이전에 나온 알파벳으로 채운다. A A AA A AC C Ccs그 다음 열도 행과 마찬가지로 위에서 아래로 이전 알파벳으로 채우고 이후 아래에서 위로 탐색하면서 이전 알파벳으로 배열을 채운다. 시간복잡도는 배열의 크기가 된다. 소스코드 : https://gist.github.com/fpdjsns/9bbfe5adaf339558cd0d077ee2c2f248 2019. 2. 7.
[Leetcode][981] Time Based Key-Value Store 문제 : https://leetcode.com/problems/time-based-key-value-store/ timestamp를 key, value를 value로 하는 map을 하나만들고 이를 value 값으로 가지고 key값을 key로 가지는 unordered_map(정렬될 필요 없으므로)을 만든다.unordered_map m; // {key, {timestamp, value}}cs즉, 위와 같은 맵을 하나 만든다.set할 때에는 key, timestamp, value를 자료형 타입과 맞게 m에 넣어준다. get 할 때는 먼저 key값과 맞는 {timestamp, value}를 찾는다.만약 하나도 없다면 빈 스트링을 반환한다. 맞는 map이 있다면 해당 맵에서 upper_bound를 이용해 time.. 2019. 1. 31.
[SpringBoot] use requestFactory in RestTemplateBuilder @Configurationpublic class Cofig { @Bean public RestTemplate restTemplate() { RestTemplateBuilder restTemplateBuilder = new RestTemplateBuilder(); HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(); // ... return restTemplateBuilder.requestFactory(factory).build(); // error } }Colored by Color Scriptercs 스프링 부트에서 사용하던 위와 같은 코드를 다른 프로젝트로 이전하는 과정에서 위와 같이 .. 2019. 1. 31.
[CodeJam][2017] Bathroom Stalls - Qualification Round C 문제 : https://code.google.com/codejam/contest/3264486/dashboard#s=p2 N이 9라고 할 때를 예로 들어보자.파란색이 연속된 빈 자리(탐색 중인 자리들). 빨간 색이 이때 선택되는 최적의 자리이다.연속된 빈 자리가 많을 수록 우선으로 선택된다. (최대, 최소가 크므로)그리고 연속된 빈 자리수가 같다면 구하고자 하는 다른 상점 or 화장실과의 최대, 최소 거리는 같다. -> 한꺼번에 계산할 수 있다. map을 하나 만든다. key 값은 연속된 빈 자리이고 value는 연속된 빈 자리 수의 개수가 된다.key 값이 큰 것부터 탐색한다. (거리의 최대, 최소는 연속된 빈 자리 수에 비례하므로)탐색중인 map의 key값을 n, value를 cnt라 하자.cnt만큼.. 2019. 1. 27.
[BOJ][1504] 특정한 최단 경로 문제 : https://www.acmicpc.net/problem/1504 최단거리를 구하는 문제이다.플로이드 알고리즘으로 먼저 모든 정점 간의 최단 거리를 구한다.1 -> N 까지 이동하는데 반드시 지나야 하는 지점 2개가 a, b라면나올 수 있는 경로는 1 -> ... -> a -> ... -> b -> ... -> N1 -> ... -> b -> ... -> a -> ... -> N위 경로 2개이다. 따라서 1 -> a 최단 거리 + a -> b 최단거리 + b -> N 최단거리1 -> b 최단 거리 + b -> a 최단거리 + a -> N 최단거리위 2개 중 짧은 거리가 정답이 된다.만약 구한 짧은 거리가 무한대라면 불가능한 경우이므로 -1을 출력한다. 소스코드 : https://gist.gith.. 2019. 1. 27.