전체 글 32

AWS Certified Machine Learning Specialty 합격후기

많이 대중화된 자격증은 아니어서 시험에 대한 정보가 너무 없었습니다. 그래서 시험을 준비했던 과정을 좀 정리해보려고 합니다. 1. AWS Certified Machine Learning Specialty - AWS 시험에 여러 종류가 있는데 machine learning은 specialty(전문분야)에 속합니다. - 65문제 객관식으로 온라인으로 시험 보는 형식입니다. - 총 1000점 중에 750점 이상이 합격입니다. - 기본적으로 영어 시험인데 한국어 번역 가능합니다. (번역이 좀 어색해서 영어로 공부하고 영어로 시험 보는 것을 추천해요) - 요금 : 300 USD (대략 37만원됩니다) (한번 응시하면 다음 시험에 50% 할인됩니다.) - 시험 결과는 최종 제출하면 바로 합격, 불합격이 뜨고 자격증..

자격증 2021.03.27

백준20061 : 모노미노도미노2(Python)

https://www.acmicpc.net/problem/20061 20061번: 모노미노도미노 2 모노미노도미노는 아래와 같이 생긴 보드에서 진행되는 게임이다. 보드는 빨간색 보드, 파란색 보드, 초록색 보드가 그림과 같이 붙어있는 형태이다. 게임에서 사용하는 좌표 (x, y)에서 x는 행, www.acmicpc.net blue = [[0 for _ in range(6)] for _ in range(4)] green = [[0 for _ in range(4)] for _ in range(6)] def drop_green(t, y): x = 0 if t == 1 or t == 3: for i in range(6): if green[i][y] == 1: break x += 1 # 실제 정착되는 행 위치 x..

알고리즘 2021.03.11

백준 1158번 : 요세푸스 문제 (Python)

https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net from collections import deque n,k = map(int,input().split()) data = deque([x for x in range(1,n+1)]) answer = [] while data: # 1. k-1만큼 왼쪽으로 회전시키기 data.rotate(-k+1) # 2. 제거하기 answer.append(str(data[0])) data.popleft() print("" % (", ".join(answer)))

알고리즘 2021.02.03

백준 1021번 : 회전하는 큐 (Python)

https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 풀이방법: 뽑아내려고 하는 숫자를 차례로 꺼내서 큐의 첫번째 원소가 될때까지 왼쪽이나 오른쪽으로 이동시킨다. 이때 data.index(num)

알고리즘 2021.02.03

백준 17135번 : 캐슬 디펜스 (Python)

https://www.acmicpc.net/problem/17135 17135번: 캐슬 디펜스 첫째 줄에 격자판 행의 수 N, 열의 수 M, 궁수의 공격 거리 제한 D가 주어진다. 둘째 줄부터 N개의 줄에는 격자판의 상태가 주어진다. 0은 빈 칸, 1은 적이 있는 칸이다. www.acmicpc.net 함수 설명 1. solve: 메인 함수로 재귀 함수로 3명의 궁수를 놓는방식 2. remove_enemy_count : 궁수가 제거한 적의 개수를 반환하는 함수 3. bfs : 거리가 D이하인 적 중에서 가장 가까운 적의 위치를 반환하는 함수 4. check : 적이 아예 없으면 True를 반환하는 함수 from collections import deque from copy import deepcopy n,..

알고리즘 2021.01.25

백준 2573번 : 빙산 (python)

https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 1. check_melt : 얼음이 다 녹았는지 확인하고 전체가 0이면 0을 출력 2. count_zero : 빙산이 있으면 그 주변으로 0의 개수를 확인 -> 이때 주의해야 할 것은 항상 원본 데이터로 0의 개수를 세어야한다. 그래서 new_data를 만들고 업데이트 3. bfs : bfs로 빙산 덩어리가 몇개인지 확인 from collections import deque from copy..

알고리즘 2021.01.20

백준 1012번 : 유기농 배추(python)

https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net t = int(input()) dx = [-1,1,0,0] dy = [0,0,-1,1] def dfs(x,y): q = [(x,y)] while q: x,y = q.pop() for i in range(4): nx,ny = x+dx[i],y+dy[i] if 0

알고리즘 2021.01.05

백준 2178번 : 미로 탐색(python)

https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net from collections import deque n,m = map(int,input().split()) data = [list(map(int,input())) for _ in range(n)] dx = [-1,1,0,0] dy = [0,0,-1,1] def bfs(x,y): queue = deque() queue.append((x,y)) while queue: x,y = queue.popleft() for i in rang..

알고리즘 2021.01.05

백준 7562번 : 나이트의 이동(python)

https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net from collections import deque t = int(input()) dx = [-1,-2,-2,-1,1,2,2,1] dy = [-2,-1,1,2,2,1,-1,-2] def bfs(x,y,target_x,target_y): if x==target_x and y==target_y: return 0 q = deque() q.append((x,y,0)) while q: x, y, count..

알고리즘 2021.01.05

백준 1926번 : 그림(python)

https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net n,m = map(int, input().split()) data = [list(map(int,input().split())) for _ in range(n)] dx = [-1,1,0,0] dy = [0,0,-1,1] def bfs(x,y): w = 1 queue = [(x,y)] while queue: x,y = queue.pop() for i in range(4): nx,ny = x+dx[i],y+..

알고리즘 2021.01.05