일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
- function
- BlockChain
- Kubernetes
- Ethereum
- 백준
- dockerfile
- rust
- docker
- BAEKJOON
- fluent python
- 플랫폼
- 동시성
- 파이썬
- AWS
- IMAGE
- Container
- 알고리즘
- Python
- Network
- 이더리움
- Algorithm
- 블록체인
- Refactoring
- Fast API
- 러스트
- RabbitMQ
- Thread
- guru
- 코어 이더리움 프로그래밍
- 전문가를 위한 파이썬
- Today
- Total
글쓰기 | 방명록 | 관리 |
목록분류 전체보기 (99)
Victoree's Blog

1. EKS란? Elastic Kubernetes service의 약자로, AWS에서 제공하는 컨테이너 기반의 서비스입니다. AWS에서는 EKS를 다음과 같이 설명하고 있습니다. EKS란 자체 쿠버네티스 컨트롤 플레인이나 작업자 노드를 설치 및 운영할 필요 없이 AWS에서 쿠버네티스를 손쉽게 실행할 수 있도록 지원하는 관리형 서비스입니다. 위 말만 가지고는 EKS가 무슨 서비스인지 잘 이해가 되지 않습니다 :( 우선 쿠버네티스를 잘 모르시는 분들을 위해 잠깐 쿠버네티스에 대해 먼저 설명하고 다시 EKS를 살펴봅시다! 1-1. Kubernetes 란? 대규모 컨테이너화된 애플리케이션을 배포 & 확장 &. 관리하는 데 사용할 수 있는 오픈 소스 소프트웨어 쿠버네티스로 서비스를 구축할 때는 특정 파드들의 네트..

Concept & Idea dfs를 이용해서 치킨집을 갯수만큼 정해주고, 만약 m과 치킨집의 수가 맞으면 각 좌표값을 이용하여 집집마다의 치킨 거리를 계산할 수 있는 문제였다. Code #include #include #include #include #include using namespace std; int n,m; vector chicken, house; long mins=9999999999; void dfs(int x, vector v){ if(v.size()==m) { int nu=0; for(int i=0; i

Concept & Idea 간단한 체크함수를 만듬으로써 문제를 비교적 간단하게 해결 할 수 있었다. check_s(3개짜리 정사각형 체크)함수는 구현하는데 생각을 좀 했어야 했다. 간단하게 row값과 col값을 3으로 나누고 거기서부터 3개씩 체크해주면 되는 파트였다. 처음에는 스도쿠에 빈 공간에 들어갈 숫자를 찾는데 10개짜리 배열을 계속 체크해주어야 한다고 생각했다. 그래서 배열을 계속 넘기고, 체크하고, 넘기고 다시 false인 요소의 값을 dfs돌려야 한다고 생각했는데, 확실히 감이 많이 죽은 것 같다. 그냥 For문을 10번씩 돌면서, 해당하는 숫자가 들어갈 수 있는가? 아닌가? 를 체크하면 간단하게 해결할 수 문제였다. DFS 안에 함수를 생각보다 복잡하고 비효율적으로 구현했었는데, 어차피 완..

Concept & Idea 돌아가는 포문의 i는 col을 의미한다. map[i]의 값은 배치된 queen의 행값이다. isPossible 함수에서 같은 열에 위치되있거나 대각선방향에 있을 경우, 다음 위치로 이동하지 않는다. 처음엔 map[15][15]라는 배열을 만들었는데, 그렇게 푸는 것이 아니라 내가 있는 위치를 기록함으로써 메모리를 줄일 수 있었다. Code #include using namespace std; int n,map[16]; int res=0; bool isPossible(int x){ for(int i=1; in; for(int i=1; i

Concept & Idea 간단한 완전탐색 문제였다. n도 최대 20밖에 안되서 dfs로 쉽게 해결할 수 있었다. 코드도 나름 깔끔하게 짰다고 생각하는데,, startScore랑 linkScore를 어떻게 하면 함수를 합칠 수 있을것 같은데,, 나름 만족한다. Code #include #include using namespace std; int n,map[21][21]; bool check[21]; int res=2000001; int startScore(vector start){ int cnt=0; for(int i=0; i

Concept & Idea 이 문제에서 가장 중요한 아이디어는 다익스트라를 두번 사용해야 한다는 점이다. 어떤 지점에서 X까지 도달하는 최소 거리 + X에서 어떤 지점까지 도달하는 최소 거리의 합의 최댓값을 구하는 문제였다. 필자는 시간초과 문제를 마주하여,, 몇 시간동안 고민했지만 바보같은 사고를 하였다. X에서 어떤 지점까지 가는 최솟값은 두번째 다익스트라로 해결하였다. 어떤 지점에서 X까지 가는 것은 N번 돌렸었는데, X의 지점을 최대한 이용하여, 역방향 거리를 가지고 있는 벡터를 만들어서 그 벡터를 X에서 출발하면 해결할 수 있는 문제였다. 해당 테스트 케이스에서 DP1에는 4,0,6,3 DP2에는 1,0,3,7 이 들어있어서 정답 10을 구할 수 있다. Code #include #include ..

Concept & Idea 다익스트라 문제였고, 프림 알고리즘을 이용하여 해결하였다. 메모리 초과는 dp[1][1001] 이 배열만을 선언함으로 해결할 수 있었다. 우선 이 문제는 단일 방향의 간선이라는 점도 중요하고, 같은 경로지만 여러대의 버스가 존재할 수 있다. 역시 질문을 잘 읽는 것이 중요하다.. 원래 메모리 초과가 났을 때, 배열을 2차원으로 선언했었다. 하지만 시작점은 한 곳이고,, 마지막 도착지까지 가려면 반드시 start지점을 거친 값에 더해주어야 하기 때문에, 일차원 배열으로 해결할 수 있다. Code #include #include using namespace std; struct node{ int x,y,z; bool operator()(node a,node b){ return a...

Concept & Idea DFS나 BFS만으로 해결을 하려고하면 안되는 문제이다. 시간초과가 나기 때문에, 이미 내가 왔던 곳은 탐색하지 않는다라는 개념을 가지고 해결해야한다. 초기 조건부터 dp[x][y]가 true라면 바로 값을 반환하게 코드를 구현하였다. 왜 조건문에 dp[x][y]+1>dp[curi][curk]일 때 수행하지 못하는지 의문이었다..‘that_is_mo’를 통해 알아낸 문제 해결법 현재 서있는 위치에서 갈 수 있는 길과 갈 수 없는 길은 정해져있다. 어떤 경로로 왔든지, 이미 왔던 경로는 밟지 못한다. DP[][] 배열에 저장하는 값은 해당 위치에서 앞으로 얼마나 많이 갈 수 있느냐! DP[][] 배열을 기준으로 내 앞에 어떤 수가 있으면, 나는 해당 배열의 값+1만큼을 더 들어갈..

Concept & Idea 코드의 핵심이 되는 플로이드 와샬 코드 부분이다. 간단한 문제이기 때문에 자세한 설명은 생략하도록 하겠다 for(int i=1; in>>m; for(int i=1; i>b; dp[a][b]=1; dp[b][a]=1; } for(int i=1; i

Concept & Idea 당연히 이 문제를 DFS로 풀면 시간초과가 엄청 날 것이다.(1000의 100000승?) 이 문제는 최소 스패닝 트리를 구하는 문제로, Prim 알고리즘을 이용하여 해결할 수 있었다. 우선순위 큐를 문제에서 해결하는 것은 처음이었기 때문에, 다소 생소했으나 대체적으로 큐와 동일하였다. struct node { int x,y,z; bool operator() (node a, node b) { return a.z>b.z; //최소값 우선 노드 } }; 이 노드를 만듬으로써, operator를 통해 comp함수까지 대체할 수 있었다. priority_queue pqu; 이 코드는 priority_queue를 선언하는 코드인데, 첫번째는 queue의 타입, 두번째 변수인 vector는..