일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- linux
- NGINX
- 도커 명령어
- 운영체제
- Swift
- 데브옵스
- devops
- ios
- swift 클로저
- 프로세스
- centOS7
- kubernetes
- 인프라
- 도커
- AWS
- C++
- k8s
- 네트워크
- centOS
- Python
- 클라우드
- 도커 컨테이너
- 도커 이미지
- 컨테이너
- os
- docker
- boj
- 부스트코스
- 리눅스
- 쿠버네티스
- Today
- Total
목록CS (58)
귀염둥이의 메모
www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 문제를 읽었을 때 많이 복잡해 보였는데 생각보다 간단하게 풀렸다. 주어진 조건 그대로 작성하였다. 북 : 0, 동 : 1, 남 : 2, 서: 3 rot 배열의 index는 현재 바라 보는 방향이고, 배열 값을 현재 좌표에 각각 더하면 왼쪽 좌표이다. ex) 북쪽(index = 0) 일 때 (x+ rot[0][0], y + rot[0][1])은 지금 북쪽을 바라봤을 때 왼쪽 좌표 (r, c) back 배열의 i..
www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 구현이 조금 까다로워서 시간이 조금 걸렸다. 공기 순환 방향인 up, down 배열을 선언했다. up : {오른쪽, 위, 왼쪽, 아래} down : {오른쪽, 아래, 왼쪽, 위} 1. 미세먼지 확산 미세먼지가 있는 좌표와 확산되기 전 먼지 값(origin)을 큐에 넣는다. 확산 가능한 곳이면 origin/5을 더하고, 확산시킨 먼지 값을 origin/5 만큼 빼준다. 2. 공기청정기 작동 청정기 (위, 아래)..
www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net BFS를 이용해서 해결할 수 있었다. +u와 -d씩 움직이며 탐색을 한다. 탈출 조건은 g(목표점)에 도달했을때 (vis배열 값 - 1) 을 return한다. vis배열은 버튼을 누른횟수가 들어가는데 처음에 0이 아닌 1이 들어가기때문에 (vis배열 값 - 1) 을 return 해준다. 탐색을 완전히 할때까지 g에 도달하지 못하면 "use the stairs"을 출력한다. 소스코드 #include using namespac..
www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 백트래킹을 활용하여 완전 탐색을 했다. 1. 현재 위치에서 4 방향(위, 아래, 왼, 오)으로 진행하며 사각형이 4개가 될 때마다 합의 최댓값을 갱신해 주었다. 2. 위 과정이 끝나고 k == 1일때 가능한 모든 ㅗ 모양에 대해서 최댓값을 갱신했다. 소스코드 #include using namespace std; int n, m, mx, s; int dx[4] = {0, 0, -1, 1}; int dy[4] = ..
www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net vis 배열에 스타트팀 인원들을 true로 표시하였고, 링크팀 인원들은 false이다. 각각의 모든 경우에 대해서 능력치 차이를 비교하여 차이의 최소를 구하였다. 소스코드 #include using namespace std; int n; int minimum = INT32_MAX; int vis[21]; int stat[21][21]; void dfs(int k, int start) { if (k == n / 2) { int st ..
www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 이차 원 배열 M에 사과는 1로 표시하고, 뱀의 몸은 -1로 표시를 하였다. int 변수 dx와 dy를 통해서 현재 진행방향을 나타 냈다. 벽 또는 자신의 몸에 부딪힐 때 종료 조건을 걸고 break 했다. 몸이 되는 부분의 차례로 큐에 넣어서 사과를 먹지 않았을 때 꼬리 부분(가장 나중에 큐에 들어간 부분)을 없앴다. 위, 아래, 오른쪽, 왼쪽 진행 방향 각각에 대해서 'L'과 'D'일 때를 처리해 주었다. -> 이..
람다(lambda) 함수 함수의 이름 없이, 함수처럼 사용할 수 있는 익명의 함수를 말한다. 일반적으로 람다 함수는 이름을 지정하지 않아도 사용할 수 있다. 일반적인 함수 vs 람다 함수 # 일반적인 함수 def f(x, y): return x + y print(f(1, 4)) # 5 # 람다함수 f = lambda x, y: x + y print(f(1, 4)) # 5 위의 두 코드는 모두 입력된 x, y의 값을 더하여 그 결과를 반환하는 함수로, 결과값도 5로 같다. 람다 함수는 별도의 def나 return을 작성하지 않고, 단지 앞에는 매개변수의 이름, 뒤에는 매개변수가 반환하는 결과값인 x + y를 작성했다. 람다 함수의 다른 표현 방식 print((lambda x: x + 1)(5)) # 6 위..
재귀(Recursion) void func1(int n) { if (n == 0) return; cout
f-string 포매팅은 파이썬 3.6부터 사용가능 문자열 맨 앞에 f를 붙여주고, {} 중괄호 안에 직접 변수 이름을 넣을 수 있다. 여러가지 표현법은 %서식 지정자, format 방법과 동일하게 사용가능하다. >>> name = "James" >>> age = 25 >>> print(f"안녕하세요 제 이름은 {name}이고, 나이는 {age}입니다.") 안녕하세요 제 이름은 James이고, 나이는 25입니다. >>> lst = [1, 3, 5, 6] >>> s = f'0번째 원소 : {lst[0]}\n2번째 원소 : {lst[2]}' >>> print(s) 0번째 원소 : 1 2번째 원소 : 5 소숫점 >>> num = 123.4567 >>> print(f"{num:.2f}\n{num:2f}") 12..
for문 + append() vs List Comprehension # for loop + append() >>> list_A = [] >>> for i in range(1, 11): >>> list_A.append(i) >>> print(lst_A) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # List Comprehension >>> lst_B = [i for i in range(1, 11)] >>> print(lst_B) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 중첩 for문 >>> result = [i+j for i in ["가", "나", "다"] for j in ["A", "B", "C"]] >>> print(result) ['가A', '가B', '가C', '나A..