목록전체 글 (161)
우당탕탕 개발일지
개념EC2: 가상 머신ECR: 도커 컨테이너 이미지 저장EKS: AWS가 제공하는 쿠버네티스 서비스 [ EC2 생성 ]*이 과정은 참고 블로그 보고 진행했습니다. 1. 이름 & OS 설정 2. 키 페어 생성 3. 네트워크 설정 4. 스토리지 구성 & 인스턴스 시작 인스턴스 생성 완료!인스턴스 고유 번호 클릭하기 [ 탄력적 IP (고정 IP) ]1. 탄력적 IP 생성 2. moivo_instances와 연결 [ SSH 접속 ]아래 명령어로 접속하려고 했으나 실패... 이유를 몰라서 여기저기 찾아보다가, aws 인스턴스에 명령어가 있다는 것을 알게 됐다. 아래와 같은 형식으로 작성해야 한다.ssh -i "moivo-instances-key.pem" ubuntu@ec2-{퍼블릭 IPv4 주소}.ap..
도커, 쿠버네티스 어렴풋이 개념만 알고 있고 사용해본적이 없다...! (사실 했지만 실패했다...)그래서 개념 공부 겸 실습 겸 다시 도전해볼려고 한다. 나는 아래 스킬을 조합해서 Moivo 프로젝트 자동 배포를 구성해볼려고 한다.AWS + Kubernetes + Docker + GitLab CI 아직 각각의 개념을 추상적으로 알고 있어서 개념 공부부터 하겠다! 1. AWSAWS EC2(우분투) 생성AWS EKS 생성VM, EKS 연결 2. GitLab CI코드 반영 시, 스크립트의 조건에 맞게 작업 수행테스트 -> 빌드 -> 도커 이미지 생성 -> ECR에 도커 이미지 업로드도커 이미지 만들때, 환경 포함하여 생성java: java 설치, 유효한 환경설정 파일과 함께 빌드하여 jar 파일 생성reac..
풀이 최종 코드import queuedef findSheep(x, y): sheepQueue = queue.Queue() sheepCheck[x][y] = True sheepQueue.put([x, y]) # 앞뒤위아래 moveXArr = [1, -1, 0, 0] moveYArr = [0, 0, -1, 1] while sheepQueue.qsize() > 0: node = sheepQueue.get() for i in range(len(moveXArr)): moveX = node[0] + moveXArr[i] moveY = node[1] + moveYArr[i] ..
풀이1번 컴퓨터와 연결되어 있는 모든 컴퓨터의 개수를 찾으면 된다. 연결되어 있는 모든 노드를 구하기 때문에 BFS와 DFS 둘 다 상관없다고 판단했다. 입력값 초기화 num: 컴퓨터 개수networkCount: 네트워크 상에 연결된 컴퓨터 쌍의 수 networkInfo: 연결되어 있는 다른 컴퓨터의 번호 저장* networkInfo[n]에 n과 연결된 컴퓨터 번호가 저장되어 있다networkCheck: 각 컴퓨터를 확인했는지 여부 저장 값 networkCount 만큼 데이터를 입력받아 networkInfo에 각 컴퓨터 번호와 연결되어 있는 다른 컴퓨터 번호를 저장한다.편의성을 위해 num+1만큼의 크기를 잡고 0번째 원소는 사용하지 않는다.1번 컴퓨터와 연결된 컴퓨터 수를 구하기 때문에 무조건 ..
풀이처음에 입력값의 의미를 이해하지 못했다....다른 블로그랑 GPT한테 물어보고 이해했다.... ㅎ테스트 케이스 개수가 주어지는 것이 아니라 w,h와 지도정보를 계속 제공하다가 0 0를 만나면 프로그램 종료인 것이었다..! Queue를 활용하여 BFS로 풀었다. 현재 노드와 근접한 노드먼저 확인하는 것이 좋다고 판단했기 때문이었다. 메인0 0을 만나면 프로그램 종료이기 때문에 while문으로 반복하다가 0 0일 경우 빠져나가도록 구현했다. 주어진 땅, 바다 정보 저장 후, 배열을 돌면서 미방문이면서 땅인 노드에서 findLand(x, y) 함수를 호출했다. findLand(x, y) 함수해당 함수에서는 매개변수로 주어진 x,y 노드를 기준으로 8방향의 노드를 확인한다. 위에서 언급했다 싶이 BFS로..
풀이사실 문제를 이해 못해서 다른 블로그를 엄청 많이 봤다...!예시1번에서 내가 생각한 정답은 '1 1 4 4 6 3' 이었는데 왜 '4 6 1 3 1 4'인지 이해가 안되서 한참 보았다. 블로그를 통해 문제를 이해하고 다시 문제를 보니 내가 놓친 부분이 보였다.각 노드의 부모 노드 번호를 2번 노드부터 순서대로 출력노드 번호가 2번인 부모 노드부터 n번인 부모 노드 번호까지 출력하라는 의미인게 이제서야 보였다... ㅎ 먼저 제시된 예시1 트리를 표현했다1. 각 노드와 연결된 노드를 저장2. 연결되어 있는 노드를 방문하면서 각 부모 노드를 저장하면된다.각 노드와 연결된 노드각 노드의 부모 노드노드, 1: 4, 6노드, 2: 4, 7노드, 3: 5, 6노드, 4: 1, 2, 7노드, 5: 3노드, 6..
풀이* 각 시도 모두 메인 부분은 동일하고 'findEarthworm()' 함수 부분만 변경함. 1차 시도1이 연결되어 있는 노드 끝까지 탐색 후, 옆 노드로 이동해서 끝까지 탐색함으로 깊이우선탐색알고리즘이라고 판단그래서 스택과 재귀를 활용하여 구현해야 겠다고 생각해서 아래와 같이 구현 현재 노드 기준으로 연결된 노드가 1이고 아직 방문하지 않았다면 해당 함수 재귀로 호출함수 호출되면 스택에 현재 노드 저장 후, while에서 하나 빼서 사용def findEarthworm(startY, startX): checkArr[startY][startX] = True nearNode.append([startY, startX]) # 앞뒤위아래 moveXArr = [1, -1, 0, 0]..