전체 103

[Easy] PassingCars

[문제] 동쪽으로 움직이는 차와 서쪽으로 움직이는 차에 대한 정보가 배열로 주어지고 도로에서 서로 지나치는 차의 쌍(pair)을 구하는 문제 https://app.codility.com/programmers/lessons/5-prefix_sums/passing_cars/ PassingCars coding task - Learn to Code - Codility Count the number of passing cars on the road. app.codility.com [코드] 풀이 : 배열 내 모든 수가 0과 1로 이루어져 있기에 전체 합을 구하고 배열 값이 0인 index 이후의 부분 배열의 합을 구하여 더하는 방식 시간복잡도 : O(N) # you can write to stdout for deb..

기타/Codility 2022.05.24

EFK Stack 구성하기 (Amazon OpenSearch + FluentBit + Kibana)

Kubernetes 내 컨테이너의 로그 수집에는 다양한 방법이 있습니다. 구성 조합에 따라 ELK, EFK 등이 있고, Amazon EKS 구성 시에는 Container Insights를 통해 CloudWatch에 로그를 게시할 수 있습니다. 그 중 AWS for Fluent Bit 이미지를 사용하지 못하는 경우에 fluentbit과 Amazon OpenSearch Service를 활용하여 EFK를 구성해보겠습니다. 현재 EKS Anywhere에서는 AWS for Fleunt Bit 이미지 사용 시 metadata를 찾지 못해 정상적으로 컨테이너를 구동할 수 없습니다. [목표] [기본 환경] Internet Outbound 통신이 가능한 Kubernetes Cluster [배포 순서] 1. IAM Use..

Kubernetes 2022.05.23

[Easy] FrogJmp

[문제] 현재 위치(X), 점프 거리(D), 목표지점(Y) 현재 위치로부터 목표지점에 도달/지나칠 때까지 몇번의 점프를 해야하는지 찾는 문제 FrogJmp coding task - Learn to Code - Codility Count minimal number of jumps from position X to Y. app.codility.com [코드] # you can write to stdout for debugging purposes, e.g. # print("this is a debug message") def solution(X, Y, D): # write your code in Python 3.6 count=Y-X if count==0: return 0 i = int(count/D) j = ..

기타/Codility 2022.05.22

[Easy] CyclicRotation

[문제] 주어진 수(K)만큼 1차원 배열을 회전하는 문제 [코드] # you can write to stdout for debugging purposes, e.g. # print("this is a debug message") def solution(A, K): # write your code in Python 3.6 lenth = len(A) if lenth==0 or K==0: return A K%=lenth answer=[0 for i in range(lenth)] for i in range(0, lenth) : answer[(i+K)%lenth] = A[i] return answer * 0에 대한 별도 처리 필요 https://app.codility.com/programmers/lessons/2-..

기타/Codility 2022.05.22

[Easy] ArrListLen

[문제] 배열 내 값을 배열 idx로 사용하여 접근하며 '-1'이 있는 배열 idx에 몇번만에 도달하는지 찾는 문제 [코드] # you can write to stdout for debugging purposes, e.g. # print("this is a debug message") def solution(A): # write your code in Python 3.6 answer=1 i=0 while True: if A[i] == -1: break; else: i = A[i] answer+=1 return answer # PassTheMessage is recommended https://app.codility.com/demo/results/trainingJVBNCC-F9V/ Test results ..

기타/Codility 2022.05.22

[Easy] BinaryGap

[문제] 2진수에 대해 1로 둘러싸인 연속된 0의 숫자를 세어 가장 큰 연속된 0의 개수를 출력하는 문제 [코드] # you can write to stdout for debugging purposes, e.g. # print("this is a debug message") def solution(N): # write your code in Python 3.6 binary = bin(N) start=0 cont=0 answer=0 for b in binary: if b=='1' and start==0: start=1 elif b=='0' and start==1: cont+=1 elif b=='1' and start==1: answer = max(answer, cont) cont=0 return answe..

기타/Codility 2022.05.22

Libreswan으로 AWS site-to-site VPN 연결하기

서로 다른 VPC를 활용하여 하나의 VPC를 On-prem으로 가정하고 Libreswan을 활용하여 AWS site-to-site VPN을 연결하고자 합니다. (openswan은 Ubuntu 18.04부터 포함되어있지 않아 apt-get을 활용하여 설치할 수 없기에 유사한 솔루션인 Libreswan을 테스트 함) AWS VPN에서 Libreswan을 명시적으로 지원하지 않아 Openswan의 config를 다운 받아 설정에 활용합니다. [목표] [기본 환경] VPC 2개 겹치지 않는 CIDR을 활용하여 2개 생성 (ex. 10.0.1.0/24, 10.0.2.0/24) Public Subnet, Public route table 각각 생성 EC2 2개 Libreswan용 EC2 + EIP OS : Ubun..

Cloud & DevOps/AWS 2022.05.17
반응형