1. 로컬(Windows)에서 Redis 설치하기 아래 링크로 들어가 확장자가 msi인 설치 프로그램을 다운로드하여야 한다.https://github.com/microsoftarchive/redis/releases Releases · microsoftarchive/redisRedis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes - microsoftarchive/redisgithub.com 설치 과정에서 딱히 따로 설정할 것은 없다.Redis의 기본 포..
전체 글
1. RedisRedis란?Redis 공식 홈페이지 문서를 살펴보면 아래와 같은 설명이 적혀 있다.Redis is an in-memory data store used by millions of developers as a cache, vector database, document database, streaming engine, and message broker. Redis has built-in replication and different levels of on-disk persistence. It supports complex data types (for example, strings, hashes, lists, sets, sorted sets, and JSON), with atomic operat..
스프링이 제공하는 빈이 존재할 수 있는 범위에 대한 섹션! 1. 빈 스코프란?빈 스코프는 빈이 존재할 수 있는 범위를 말함스프링 빈은 기본적으로 싱글톤 스코프로 생성되기 때문에 스프링 컨테이너의 시작과 함께 생성돼서 스프링 컨테이너가 종료될 때까지 유지됨아래와 같이 지정할 수 있음// 컴포넌트 스캔 자동 등록@Scope("prototype")@Componentpublic class HelloBean() {}// 수동 등록@Scope("prototype")@BeanPrototypeBean HelloBean() { return new HelloBean();} 스프링이 지원하는 다양한 스코프a. 싱글톤 스코프(default)기본값으로, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프 b. ..
https://www.acmicpc.net/problem/2110각각의 집의 좌표가 x1, ..., xN인 집 N개가 수직선 위에 있다. 집에 공유기 C개를 설치하려고 하는데, 한 집에는 공유기를 하나만 설치할 수 있고 가장 인접한 두 공유기 사이의 거리를 가능한 크게 해 설치하려고 한다. 이때 가장 인접한 두 공유기 사이 거리의 최댓값을 구하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한2 ≤ N ≤ 200,0002 ≤ C ≤ N0 ≤ xi ≤ 1,000,000,000 ..
https://www.acmicpc.net/problem/25116Cookie Run 게임은 N개의 스테이지로 이루어진 맵을 달리는 게임이다. 맵을 디자인하는 데엔 아래와 같은 규칙이 있다.각 스테이지는 A0, A1, ..., A(N-1)의 난이도가 주어진다.연속적인 스테이지의 난이도 합이 M보다 크거나 같다면, 그 구역을 interesting section으로 부른다.Ai + ... + Aj ≥ M & 0 ≤ i ≤ j ≤ N-1, section (i, j) = interesting section맵에는 적어도 K개의 interesting section이 있어야 한다. 게임이 너무 쉽다는 문제를 해결하기 위해 모든 스테이지의 난이도를 X만큼 올릴 수 있다고 할 때, 위의 조건을 만족하는 음이 아닌 정수..
https://www.acmicpc.net/problem/4803그래프는 정점과 간선으로 이루어져 있다. 두 정점 사이에 경로(간선)가 있다면, 두 정점은 연결돼 있다고 한다. 연결 요소는 모든 정점이 서로 연결돼 있는 정점의 부분집합이다. 그래프는 하나 이상의 연결 요소로 이루어져 있다. 트리는 사이클이 없는 연결 요소이다. 트리에는 여러 성질이 있다. 예를 들어, 트리는 정점이 n개, 간선이 n-1개 있다. 또, 임의의 두 정점에 대해 경로가 유일하다. 그래프가 주어질 때, 트리의 개수를 세는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지..
https://www.acmicpc.net/problem/1916N개의 도시와 한 도시에서 다른 도시에 도착하는 M개의 버스가 있다. A번째 도시에서 B번째 도시로 가는데 드는 최소 비용을 출력하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한1 ≤ N ≤ 1,0001 ≤ M ≤ 100,0000 ≤ 버스 비용 ≤ 100,000 가중 그래프의 한 정점에서 다른 정점으로 가는 최소 비용 경로를 구할 때, 다익스트라 알고리즘을 사용한다. 다익스트라 알고리즘link-state ro..
https://www.acmicpc.net/problem/183521번부터 N번까지의 도시와 M개의 단방향 도로가 존재하고, 모든 도로의 거리는 1이다. 이 때 특정한 도시 X로부터 출발해 도달할 수 있는 모든 도시 중 최단 거리가 정확히 K인 모든 도시들의 번호를 출력하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한2 ≤ N ≤ 300,0001 ≤ M ≤ 1,000,0001 ≤ K ≤ 300,0001 ≤ X ≤ N1 ≤ A, B ≤ N (A와 B는 서로 다른 자연수) 최..