본문 바로가기

전체 글657

[Error][WebClient] UnsupportedMediaTypeException return WebClient.create().get() .uri( ~~~ ) .headers { ~~~ } .retrieve() .bodyToMono(Member::class.java)Colored by Color ScriptercswebClient를 이용해서 get한 결과를 Member 형태로 받아와서 Mono를 반환하는 코드를 짜고 돌려보았다. There was an unexpected error (type=Internal Server Error, status=500).Content type 'text/plain;charset=UTF-8' not supported for bodyType=Memberorg.springframework.web.reactive.function.UnsupportedMedi.. 2019. 2. 26.
[Kickstart][2019]2. Mural 문제 : https://codingcompetitions.withgoogle.com/kickstart/round/0000000000051060/0000000000058b89 부분합으로 풀었다.벽은 가장자리부터 파괴되고 벽의 총 N개라고 했을 때 최대 (N+1)/2 개의 벽을 칠할 수 있다.즉, 문제를 간단하게 보면 연속되는 (N+1)/2개의 벽을 선택할 때 구할 수 있는 최대 값을 구하는 문제이다.부분합 배열을 sum, (N+1)/2를 cnt라고 했을 때, sum[i] - sum[i-cnt]가 (N+1)/2개의 벽을 선택했을 때의 가치이고. i 범위가 [cnt, N] 일 때 구한 가치 중 최대 값이 정답이 된다.시간 복잡도는 O(N). 소스코드 : https://gist.github.com/fpdjsns.. 2019. 2. 25.
[Kickstart][2019]1. Number Guessing 문제 : https://codingcompetitions.withgoogle.com/kickstart/round/0000000000051060/00000000000588f4 이진탐색으로 풀었다.정답이 될 수 있는 범위의 가장 최소, 최대 값을 가지고 그 중간 값이 정답이 될 수 있는지 확인한다.정답이 될 수 있는 경우 종료하고, 중간 값보다 정답이 작다고 한다면 범위는 최소 ~ 중간 값 -1이 되므로 최대 값을 중간 값 -1 로 갱신한다.중간 값보다 정답이 크다고 한다면 범위는 중간 값 + 1 ~ 최대가 되므로 최소 값을 중간 값 + 1 로 갱신한다.이를 정답을 구할 때까지 혹은 N번 반복한다. 소스코드 : https://gist.github.com/fpdjsns/c129fea086f319e7340126.. 2019. 2. 25.
[CodeJam][2017][Round 1B] A. Steed 2: Cruise Control 문제 : https://code.google.com/codejam/contest/8294486/dashboard N개의 말 정보를 탐색하면서 도착지까지 가는데 드는 시간 중 최대 시간을 구한다.말이 도착지까지 가는데 드는 시간 = (D - K) / S정답은 D / 구한 최대 시간 이다. 자료형은 double로 해야 조건에 맞는다. 시간복잡도는 O(N). 소스코드 : https://gist.github.com/fpdjsns/bba7e68cc46d3f7e77500d0caecaa74c 2019. 2. 17.
[leetcode][994] Rotting Oranges 문제 : https://leetcode.com/problems/rotting-oranges/ BFS로 풀었다.백준의 토마토와 비슷한 문제. 큐에 x, y, minutes를 저장한다.배열을 한 번씩 탐색하면서 썩은 오렌지인 경우 큐에 (x, y ,0)을 저장한다.그리고 오렌지(fresh + rotten)의 개수를 저장한다. 배열 탐색이 끝나면 큐가 빌때까지 오렌지 썩음을 전염시킨다.큐에서 요소를 빼낼 때 rotten 오렌지의 개수를 구한다.큐의 앞의 요소부터 탐색하면서 상하좌우 배열을 탐색한다. 만약 탐색한 grid 값이 fresh한 오렌지라면 큐에 넣는다. 이 때 minutes는 +1 해준다.큐에서 마지막으로 꺼낸 요소의 minutes가 정답이 된다.만약 총 오렌지 개수와 rotten 오렌지 개수가 같지.. 2019. 2. 17.
[leetcode][993] Cousins in Binary Tree 문제 : https://leetcode.com/problems/cousins-in-binary-tree/ 루트 노드부터 자식 노드로 탐색하면서 val가 x, y일 때의 깊이, 부모노드를 저장한다.깊이, 부모노드를 저장해야 하므로 파라미터로 넘겨줘야 한다.모든 탐색이 끝나고 부모노드가 다르고 깊이가 같은 경우 true, 아니면 false를 반환한다.시간복잡도는 O(N). 소스코드 : https://gist.github.com/fpdjsns/84b7c2386c834050750401c85011599d 2019. 2. 17.