문제https://www.acmicpc.net/problem/2828 풀이 포인터를 이용해 문제를 해결했습니다. 바구니의 시작 점을 start, 그리고 끝 점은 end = start+M-1 로 표현할 수 있습니다. 그리고 들어오는 입력 값이 start와 end 사이에 있다면 이동하지 않아도 되고, 만약 범위 밖이라면 start와 end를 통채로 ++, --를 통해 옮겨주었습니다. 그리고 이동할 때마다 moveDist라는 변수를 ++ 해주며 답을 구했습니다. 아래는 소스 코드입니다.소스 코드import java.util.Scanner;public class B2828_사과담기게임 { public static void main(String[] args) { Scanner sc =..
분류 전체보기
문제https://www.acmicpc.net/problem/14244 풀이트리의 개념을 활용한 구현 문제입니다. 이 문제에서 리프란, 간선이 하나밖에 없는 노드입니다. 그래서 트리의 끝만 포함되는 것이 아니라, 조건이 맞다면 루트도 포함될 수 있습니다. 소스 코드의 주석으로 풀이를 대체하겠습니다. 소스 코드import java.util.Scanner;public class B14244_트리만들기 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = sc.nextInt(); int leafCount = 0..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsBzAJ%2FbtsHtZLVvZn%2FrEyoBuVkcr3id4kzBy83v1%2Fimg.png)
프로젝트에 레디스 Cache를 적용하며 많은 에러를 경험했습니다. 그리고 에러를 해결하며, 정확히 이해하지 못했던 개념들을 다시 되짚어볼 수 있었습니다. 레디스 Cache를 적용하며 겪은 에러는 크게 4가지인데, 하나씩 살펴보며 해결책과 관련 개념을 정리했습니다. 우선, 요구사항은 다음과 같았습니다. 서비스에서 이루어지는 메서드 들 중 findUsersById 를 통해 사용자 인증 과정을 거치게 했는데, 아래의 findUsersById 메서드에서 DB에 접근하는 횟수를 줄이는 것이 목표였습니다.public UserEntity findUsersById(Long userId){ return userRepository.findById(userId) .orElseThrow(()..
문제https://www.acmicpc.net/problem/17073 풀이트리 문제입니다. 처음 아이디어는 트리를 순회해야한다는 생각에 트리를 dfs로 순회하며 리프 노드와 깊이를 구했습니다. 그래서 2의 (깊이) 승을 w에 나누어W/(Math.pow(2, depth));와 같이 식을 구성했습니다.그런데 생각해보니, 수학에서 결합 법칙을 생각해보면, 모든 확률의 합은 1이기 때문에 기대 값은 W 그대로라는 것을 알 수 있습니다. 그래서 결과는 W / 리프 노드의 개수를 구한 값입니다. ArrayList에 입력을 받을 때 양방향 간선 트리에서 리프노드의 연결 값의 size는 1이라는 쉬운 특징이 있었습니다. 이를 통해 리프노드의 개수를 세어주었습니다. 추가로, 이 문제에서 부모 노드가 자식 노드보다..
문제https://www.acmicpc.net/problem/14267 풀이트리에서의 dfs 방법으로 문제를 해결했습니다. dfs이지만, 배열에서의 누적 합의 매커니즘과 굉장히 비슷한 문제입니다. 누적합은 쉽게 말해, [0,1,1,0,1,1] 과 같은 배열을 nums[i+1] += nums[i] 와 같은 식을 통해 [0,1,2,2,3,4] 과 같은 결과를 도출하는 것입니다. 이 문제도 마찬가지로, 배열에 값을 입력받고 누적합을 돌리는데 위와 같이 인덱스가 연속된 경우가 아닙니다. 그래서 연속된 인덱스를 dfs로 탐색하며 누적합을 시키는 매커니즘입니다. 값을 입력받을 때, list에 사원 번호를 연결시킵니다. 그리고 1번(사장)에서 dfs를 시작해, score 배열을 누적 합을 시켜나갔습..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FENNHD%2FbtsHk3AEgbm%2FiAS6r26sLFQ4AqkDOvcjsk%2Fimg.png)
Docker compose 실행 중 다음과 같은 오류를 만났습니다. docker.errors.DockerException: Error while fetching server API version: HTTPConnection.request() got an unexpected keyword argument 'chunked'더보기전체 에러 코드$ sudo docker-compose up -dTraceback (most recent call last): File "/usr/lib/python3/dist-packages/docker/api/client.py", line 214, in _retrieve_server_version return self.version(api_version=False)["ApiV..