전체 글

알고리즘(백준)/그리디

[알고리즘/그리디] 15903번 : 카드 합체 놀이 - python

링크 : https://www.acmicpc.net/problem/15903  문제소요시간: 7분 42초설계하기(접근방법) 1. 입력받기입력받을 카드의 개수가 최대 100만개이다. 시간복잡도를 고려해야한다 2. 구현하기카드의 합을 가장 작게 만드는 법은, 가장 작은 카드끼리 더해서 새로운 합을 만드는 것이다누적합의 개념을 생각하면 쉽게 이해할 수 있을 것이다 해당 개념을 사용하려면 리스트의 최소 원소 2개를 추출할 수 있어야한다.일반 리스트로는 100만개의 원소를 다 처리할 수 없다 따라서 heapq를 import하여 항상 최소 원소를 빠르게 뱉어낼 수 있도록 선언하자 합체 횟수만큼, heappop을 2번하여 더한 후, 그 결과를 heappush하면 된다 3. 출력하기heap의 sum을 출력해준다 코드(..

알고리즘(백준)/그리디

[알고리즘/그리디] 2847번 : 게임을 만든 동준이 - python

링크 : https://www.acmicpc.net/problem/2847  문제소요시간: 8분 25초 설계하기(접근방법) 1. 입력받기레밸의 점수를 입력받는다 2. 구현하기입력받는 점수 리스트를 역으로 순회한다 i 레밸이 i-1 레밸보다 큰 경우 continueelse 인 경우에는 (둘의 차이 + 1)만큼 cnt 에 더해주고, i-1 레밸을 i레벨보다 1작게 선언해준다 3. 출력하기cnt를 출력한다 코드(출력)import sysinput = sys.stdin.readlinen = int(input())cnt = 0level = []for _ in range(n): point = int(input()) level.append(point)for i in range(n - 1, 0, -1): ..

알고리즘(백준)/자료구조

[알고리즘/구현] 5430번 : AC - python

링크 : https://www.acmicpc.net/problem/5430  문제소요시간: 48분 52초설계하기(접근방법) 1. 입력받기리스트가 숫자로 주어지는 것이 아닌 문자열로 주어지기에 고민해야한다  먼저 split(,)으로 문자열을 나누어준 후,왼쪽 끝과 오른쪽 끝의 괄호를 제거해준다 또한 배열의 원소 수가 많기 때문에 앞쪽의 원소를 제거하다 시간초과가 날 수 있다.deque를 통해서 popleft를 사용할 수 있도록 해주자 2. 구현하기 입력받은 deque를 R일 때는 pop()을정방향일 때는 popleft()를 수행할 수 있도록 짝수 홀수 카운터를 선언한다 중간에 배열이 비어버린 경우에 D를 수행한다면 error을 출력하고 다음 케이스로 넘어갈 수 있도록 구성하자 3. 출력하기 결과로 나온 리..

알고리즘(백준)/구현

[알고리즘/구현] 16918번 : 봄버맨 - python

링크 : https://www.acmicpc.net/problem/16918문제소요시간: 1시간 26초설계하기(접근방법) 1. 입력받기격자판을 입력받으면서 숫자(초)로 바꿔준다 2. 구현하기while문을 통해 시간동안 시뮬레이션을 실행한다.+ 아래의 코드로 수정했다. 3. 출력하기숫자를 다시 문자로 바꾸어주어 출력한다. 코드(출력)x, y , time = map(int,input().split())vec = []field = [[0 for i in range(y)] for _ in range(x)]for _ in range(x): vec.append(input())# 폭탄 시간으로 변환 for i in range(x): for j in range(y): if vec[i][j] ==..

알고리즘(백준)/자료구조

[알고리즘/자료구조] 19638번 : 센티와 마법의 뿅망치 - python

링크 : https://www.acmicpc.net/problem/19638  문제소요시간: 17분 53초설계하기(접근방법) 1. 입력받기입력이 10만개이니 sys를 통해 입력받는다 2. 구현하기 가장 키가 큰 거인에게 망치를 쓴다는 조건이 주어졌다거인이 10만명이니 리스트에서 매번 큰 거인을 찾는다면 시간이 초과될 것이다 따라서 heapq를 사용하여 가장 키가 큰 거인을 빠르게 찾을 수 있도록 구성해야 한다 입력받은 거인의 키에 (-1)을 곱해 거인의 키를 heappush 해준다 거인의 키가 입력되었으면 시도만큼 망치를 때리면서 1/2 floor을 해준다 문제에서 키가 1인 경우에는 더 이상 줄어들징 않는다고 했으니,망치를 치기 전에 가장 키가 큰 거인의 크기가 1인지 아닌지 검사해야한다.while문을..

알고리즘(백준)/구현

[알고리즘/구현] 25206번 : 너의 평점은 - python

링크 : https://www.acmicpc.net/problem/25206  문제소요시간: 13분 05초설계하기(접근방법) 1. 입력받기문자, 실수, 문자로 섞여있으니 일단 입력받은 후 자료형에 따라 변환해준다. 2. 구현하기학점에 따른 점수는 딕셔너리를 선언하여 계산하기 편하게 구현해준다.총 점수 = 학점 * 과목평점 을 구한 후 총 점수를 학점으로 나누어준다 3. 출력하기문제의 조건에 맞게 반올림 없이 출력해준다 코드(출력)total_grade = 0total_lec = 0dic = {'A+' : 4.5, 'A0' : 4.0, 'B+' : 3.5, 'B0' : 3.0, 'C+' : 2.5, 'C0' : 2.0, 'D+' : 1.5, 'D0' : 1.0 , 'F' : 0}for i in range(2..

DevOps(kubernetes)

[Jenkins] Jenkins 파드에서 도커 이미지 빌드(2) Docker Agent yaml 및 PV, PVC 선언

Docker Agent Pod 구현위의 구성을 구현하기 위해서 도커 에이전트를 pipeline syntax 내부에 agent로 정의해주어야 한다 Docker Agent PV, PVCapiVersion: v1kind: PersistentVolumemetadata: name: docker-agent-pvspec: capacity: storage: 10Gi accessModes: - ReadWriteOnce local: path: /mnt/docker_new volumeMode: Filesystem nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernet..

DevOps(kubernetes)

[k8s] k8s 클러스터 CI/CD 파이프라인 아키텍처

인턴 과제를 수행하면서 만든 CI/CD 아키텍처입니다1. 인프라 환경에 대한 이해 2. 전체 아키텍처구축 방법Gitlab, Jenkins, ArgoCD는 클러스터 내부에 각각의 네임스페이스로 구성하여 구축Docker는 private hub를 이용했다.CI / CDCI : JenkinsCD : ArgoCD 1) Gitlab 소스코드 Repository 2) Jenkins 3. GitOps Repository 4. ArgoCD

되다
코드테일