728x90
반응형

Tech 90

[Docker] docker-compose 사용 시 컨테이너는 정상 배포되나 ec2에서 접속이 안될때

docker-compose.yaml 파일을 확인해보자! expose와 ports의 포트번호에 ""을 넣어야 한다. version: "3" services: spring: container_name: spring image: 아이디/레포지토리이름 expose: - "8080" ports: - "8080:8080" 그 후 ec2 터미널에 curl localhost:포트번호 로 로컬로 정상 접속하는지 확인한 후, ec2 url로 접속해 확인해보자!

Tech/Docker 2023.01.14

[BOJ] 백준 1092 배 c++ (그리디)

문제 출처 : https://www.acmicpc.net/problem/1092 1092번: 배 첫째 줄에 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 각 크레인의 무게 제한이 주어진다. 이 값은 1,000,000보다 작거나 같다. 셋째 줄에는 박스의 수 M이 주어진다. M은 10,000보 www.acmicpc.net 풀이 박스를 배로 옮기는 시간의 최솟값을 출력하는 문제이다. 크레인과 박스를 내림차순으로 정렬한 후 박스를 담을 수 있는 경우 vector를 삭제해주면 된다. (그리디 알고리즘) 코드 #include using namespace std; int N, M; int ans; int main(void) { ios::sync_with_stdio(false); cin.tie(..

Tech/Algorithm 2023.01.12

[BOJ] 백준 20055 컨베이어 벨트 위의 로봇 c++ (구현)

문제 출처 : https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 풀이 이동하는 벨트에서 로봇 공정이 얼마나 진행될 수 있는지 판단하는 구현 문제이다. 처음 내구도, 로봇 여부를 pair vector로 받아 구현하였고 문제에서 제시된 단계대로 구현하였다. 1. 벨트 이동 deque등으로 직접 옮기는 방법도 있으나, idx를 옮기는 방식으로 구현하였다. 시계방향으로 벨트가 이동하므로 idx를 왼쪽으로 한칸 옮기면 된다. 여기서 ..

Tech/Algorithm 2023.01.11

[BOJ] 백준 1339 단어 수학 c++ (그리디)

문제 출처 : https://www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net 풀이 알파벳을 숫자로 치환했을때, 주어진 단어의 합의 최댓값을 구하는 문제이다. 브루트포스 방식으로 모든 숫자를 대입(dfs)해 정답을 구하는 방식도 있으나, 그리디 알고리즘으로 정답을 구하는 방법이 빠르다. 그리디 알고리즘 + @? 그렇다면 어떤 방식으로 해결해야 할까? 단순히 큰 자리수에 큰 숫자를 대입한다고 생각하면 아래와 같은 상황에서는 처리할 방법이 애매해진다. ABC..

Tech/Algorithm 2023.01.10

[BOJ] 백준 1806 부분합 c++ (투포인터)

문제 출처 : https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net 풀이 연속된 수의 부분합 중 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 문제이다. 단순하게 합을 구한다고 해서 정렬이나 priority_queue를 쓰면 안된다. 연속된 수의 부분합이기 때문이다. 그렇다고 브루트포스로 구현하면 시간초과가 발생한다. 어떻게 해야 할까? 바로 투포인터 알고리즘을 사용하면 된다. 투포인터 알고리즘 이름 그대로 배열을 이동하는 포..

Tech/Algorithm 2023.01.09

[BOJ] 백준 1027 고층건물 c++ (브루트포스, 기하학)

문제 출처 : https://www.acmicpc.net/problem/1027 1027번: 고층 건물 세준시에는 고층 빌딩이 많다. 세준시의 서민 김지민은 가장 많은 고층 빌딩이 보이는 고층 빌딩을 찾으려고 한다. 빌딩은 총 N개가 있는데, 빌딩은 선분으로 나타낸다. i번째 빌딩 (1부터 시작) www.acmicpc.net 풀이 고층 빌딩 리스트가 주어지는데, 가장 많은 빌딩이 보이는 수를 출력하는 문제이다. 이때 A에서 B빌딩이 보이려면 두 지붕을 잇는 선분이 A와 B를 제외한 다른 고층 빌딩을 지나거나 접하지 않아야 한다. 처음에 두 선분을 구하고 사이에 있는 빌딩의 높이가 그 선분을 건드리는지 확인해봐야하나 고민했지만, 결론은 기울기였다. 2중 for문을 돌며 모든 빌딩과 다른 빌딩을 확인해 해당..

Tech/Algorithm 2023.01.04

[Redis] Redis란? Redis 기초, Redis를 Cache로 사용하기, 용어 등

Redis를 어디서 들어봤지만 대충 DB관련된 툴이라고 들어본 정도가 다인 경우가 많다. 오늘은 Redis와 관련해서 알아야 하는 Cache에 대해서 정리해보았다. Redis Remote dictionary Server의 약자로, 기존의 데이터를 빠르고 쉽게 데이터를 접근할 수 있는 시스템이다. Redis의 특징은 아래와 같다. Remote dictionary Server : 직역하면 외부 자료구조 서버? 느낌으로 와닿을 수 있다. Database, Cache, Message broker In-memory Database(Cache) 빠른 성능 평균 작업속도 < 1ms 초당 수백만 건 작업 가능 다양한 자료구조 제공 이렇게 Redis는 가장 유명한 software caching 솔루션인데, 여기서 Cac..

Tech/Redis 2023.01.03

[BOJ] 백준 9205 맥주 마시면서 걸어가기 c++ (bfs)

문제 출처 : https://www.acmicpc.net/problem/9205 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net 풀이 맥주 한 박스(20개)를 들고 50m마다 맥주를 한병씩 마시는데, 편의점에 방문하면 맥주를 채울 수 있다. 집에서 페스티벌 좌표까지 이동할 수 있는지 묻는 문제이다. 직관적으로 풀면 해결되는 문제였다. 먼저 맥주 20개를 가지고 있으니 최대 1000m까지 이동할 수 있다. bfs로 풀면 이제 고려해야 할 경우는 2가지이다. 1. 1000m 맨해튼 거리 내 편의점이 있으면 ..

Tech/Algorithm 2023.01.03

[BOJ] 백준 2573 빙산 c++ (bfs, 구현)

문제 출처 : https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 풀이 일년마다 주위(상하좌우)에 물이 있는 개수만큼 빙산이 녹는 방식인데, 빙산이 두개이상으로 분리되는 시간을 구하는 문제이다! (빙산이 다 녹을 때까지 분리되지 않으면 0 출력) 먼저 2차원 배열을 입력받고 1. 4방향 탐색 후 물이 있는개수만큼 빼주기 2. 빙산이 분리되었는지 확인 3. 빙산이 다 녹았는지 확인 을 반복한다. 1. 4방향 탐색 후 물이 있는개수만큼 빼주기 처..

Tech/Algorithm 2022.12.30
728x90
반응형