일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 코루틴 컨텍스트
- PersistenceContext
- JanusWebRTCServer
- 겨울 부산
- 코루틴 빌더
- kotlin
- tolerated
- Spring Batch
- 깡돼후
- terminal
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- PytestPluginManager
- mp4fpsmod
- 티스토리챌린지
- table not found
- 달인막창
- preemption #
- JanusWebRTCGateway
- JanusGateway
- Value too long for column
- k8s #kubernetes #쿠버네티스
- python
- vfr video
- taint
- 오블완
- 자원부족
- 개성국밥
- pytest
- JanusWebRTC
- VARCHAR (1)
목록Algorithm (192)
너와 나의 스토리
문제: https://www.acmicpc.net/problem/1922 문제 풀이: mst 사용 ㅎㅎ 소스 코드: typedef pair P; priority_queue pq; int n, m,cnt,p[1001],res; int find(int x) { if (p[x] > n >> m; memset(p, ..
문제: https://www.acmicpc.net/problem/10775 문제 설명: G개의 게이트가 있고, P개의 비행기가 순서대로 도착할 예정이다. 도착한 비행기에게 주어진 값 gi이하의 게이트에만 비행기를 도킹할 수 있고, 이미 다른 비행기가 도킹한 곳에 도킹할 수 없다. 그리고 "이렇게 공항을 운영할 경우 간혹 비행기가 어떤 곳에도 도킹하지 못하는 사고가 발생한다. 이러한 사고가 일어나면 공항의 평판이 급속히 나빠져, 이후 어떤 비행기도 도착하지 않으려 할 것이다." ㄴ> 어떤 곳에도 도킹하지 못하게 되면 지금껏 도킹한 비행기 수 출력하고 끝! 문제 풀이: 일단 가장 많이 비행기를 도킹하려면 도킹 할 수 있는 곳 중 가장 큰 수의 게이트에 도킹해야한다. 주어진 gi부터 1까지 빈 곳을 항상 다 ..
문제: https://www.acmicpc.net/problem/16235 문제 풀이: deque로 나무 위치랑 나이 저장 봄 현재 존재 하는 나무 처음부터(나이 어린 나무부터) 보면서 (pop_front()) 자기 나이만큼 양분 먹을 수 있으면 먹고 나이 증가 시켜서 다시 push_back() 못 먹으면 죽음 -> 죽는 나무 위치랑 나이 따로 큐에 저장 여름 위에서 죽은 나무들 큐 빌 때까지 돌리면서 양분 추가 가을 나무 deque 돌리면서 번식 가능한 나무 찾아서 따로 큐에 위치 저장 다 돌렸으면 저장해둔 큐 빌 때까지 돌리면서 번식시킴 새로운 나무는 항상 나이가 1로 가장 어리기 때문에 push_front() 겨울 양분 추가 소스코드: typedef pair P; int n, m, k, bab[11..
문제: https://www.acmicpc.net/problem/14891 문제 설명: N극 = 0 / S극 =1 방향 1 = 시계방향으로 회전 / 방향 -1 = 반시계방향으로 회전 4개의 톱니바퀴 중 하나를 돌릴 때, 돌리기 직전의 톱니와 맞닿아 있던 톱니의 극이 다르면 반대로 회전시킨다. 맞닿은 톱니들의 극이 같아질 때까지 돌리기 X, 한번만 돌림 문제 풀이: 톱니가 돌아가는 것은 왼쪽을 가리키는 포인터, 오른쪽을 가리키는 포인터를 만들어서 회전 방향에 따라 +1, -1 해주면 됨 -> 사실 포인터 하나만 있어도 충분한데 헷갈리니까 그냥 두 개 만들었다 ㅎㅎ 포인터가 7일 때, +1해주면 범위를 넘어가므로 %8 해줘야한다. *주의* 반대로 0일 때, -1하는 경우 ( ex) (0-1)%8 ) 하면 -..
문제: https://www.acmicpc.net/problem/14476 문제 풀이: 왼쪽부터 gcd 값 기록하는 배열 하나 오른쪽부터 gcd 값 기록하는 배열 하나 만들기 ex) 입력: 8 12 24 36 48 입력 값 8 12 24 36 48 left to right 8 4 4 4 4 right to left 4 12 12 12 48 만약 arr[0]인 8을 뺀다면 rtol[1]이 최대공약수가 된다. 만약 arr[1]인 12를 뺀다면 gcd(ltor[0],rtol[2])가 최대공약수가 된다. 즉, 해당 위치의 직전 최대공약수와 이후 최대공약수의 최대공약수가 전체의 최대공약수가 된다. ㅎㅎ 소스코드: int n, arr[1000001],ltor[1000001],rtol[1000001],res1,res..
문제: https://www.acmicpc.net/problem/17136 문제 풀이: 격자판에서 1인 부분을 만나면 그 위치에서 붙일 수 있는 가장 큰 색종이부터 붙여 봄 붙인 부분 격자판 0으로 바꿈 붙이다가 붙이려는 색종이를 이미 5장 썼다면 모두 덮는 것 불가능 하므로 리턴 붙인 부분들 다시 1로 바꿈 지금까지 쓴 색종이 수가 이전의 최소 결과보다 크다면 더 볼 필요 없이 리턴 typedef pair P; bool arr[10][10]; int paper[6], res = 25; int measure(int x, int y) { int tmp = 5; for (int i = x; i < 10; i++) { for (int j = y; j < 10; j++) { if (!arr[i][j]) { tm..
문제: https://www.acmicpc.net/problem/17135 문제 설명: n*m 크기의 격자판 안에 적이 존재 (칸당 적은 최대 한 명) 궁수는 3명 존재 n*m 격자판 밑에 줄에 존재 가능 궁수는 동시에 공격하고, 가장 가까운 위치에서 가장 왼쪽에 있는 적을 공격한다. 궁수들의 공격이 끝나면 적들은 한 칸씩 밑으로 이동한다. 적들은 궁수들이 있는 줄에 도달하면 소멸된다. 이 때, 궁수들이 공격으로 제거할 수 있는 적의 최대 수는? 문제 풀이: 1. n번째 줄에 궁수들을 각 각 어디에 놓을지 3중 포문을 통해 결정 -> mC3 2. 궁수들을 배치 후 적들의 위치와 공격 거리 제한을 고려하여 공격 가능한 적 결정 (모든 궁수들을 한번에 돌리고 겹치지 않는 적들 수만 카운트) ㄴ visit 배..
#include #include #include using namespace std; int n,cnt; long long sum; int main() { ios::sync_with_stdio(false); cin.tie(NULL), cout.tie(NULL); cin >> n; int t = n; while ((t/10) > 0) { cnt++; t /= 10; sum += cnt*(pow(10, cnt) - pow(10, cnt - 1)); } cnt++; sum += cnt * (n - pow(10, cnt - 1)+1); cout