분류 전체보기

·Algorithm/BaekJoon
# 답 N = int(input()) k = int(input()) lo = 1 hi = N * N mi = (lo + hi) // 2 while lo
·Algorithm/BaekJoon
# 답 import sys input = sys.stdin.readline N, C = map(int, input().split()) home = [int(input()) for _ in range(N)] home.sort() lo = 1 hi = home[-1] - home[0] mi = (lo + hi) // 2 while lo = pre + mi: pre = i cnt += 1 if cnt >= C: lo = mi + 1 else: hi = mi - 1 mi = (lo + hi) // 2 print(mi) # 풀이 과정 이분 탐색을 이용해 풉니다. 1) 이 문제에서 요구하는 답은 '공유기 사이의 최단거리의 최댓값'입니다. 즉 '공유기 사이의 거리'를 구해야합니다. '공유기 사이의 거리'는 최소 1 ..
·Algorithm/BaekJoon
# 답 import sys board = [list(map(int, sys.stdin.readline().split())) for _ in range(9)] zero = [] for y in range(9): for x in range(9): if not board[y][x]: zero.append((y, x)) def is_sudoku(ty, tx, n): y = (ty // 3) * 3 x = (tx // 3) * 3 for i in range(9): # 가로줄 확인 if board[ty][i] == n: return False # 세로줄 확인 if board[i][tx] == n: return False # 3 * 3 확인 if board[y + i // 3][x + i % 3] == n: retu..
·Algorithm/BaekJoon
# 답 K, N = map(int, input().split()) lan = [int(input()) for _ in range(K)] lo = 1 hi = max(lan) mi = (lo + hi) // 2 while lo = N: if lo == mi: lo += 1 else: lo = mi elif tot < N: if hi == mi: hi -= 1 else: hi = mi mi = (lo + hi) // 2 print(mi) ~~ # 풀이 파라메트릭 서치로 푸는 대표적인 문제입니다. 파라메트릭 서치는 이분 탐색과 거의 유사한 알고리즘인데요. 차이점은, 이분 탐색은 탐색범위를 좁혀나가다가 정답을 발견하면 바로 함수를 빠져나오는 반면, 파라메트릭 서치는 더 이상 살펴볼 것이 없을 때까지 함수를 종료..
·Algorithm/이론
N이 소수인지 판별하기 - 2부터 루트 N ​까지의 수로 모두 나누어 보고, 한 번이라도 나누어 떨어지면 소수가 아닙니다. - 반복문을 빨리 돌기 위해서는 2부터 루트 N 까지의 수들 중 (2를 포함한)홀수 또는 소수로만 나누는 방법을 생각할 수 있습니다. def is_prime(N): if N < 2: return False for i in range(2, int(N ** 0.5) + 1): if not(n % i): return False return True N보다 작은 소수 구하기 에라토스테네스의 체 알고리즘을 사용합니다. 1단계) N + 1 크기의 chk 배열을 만들고 True로 초기화합니다. True는 이 수가 소수가 맞다는 의미입니다. 2단계) 2부터 루트 N까지의 수들 중 소수(chk[i]..
1. 책 DB를 넣어주세요. 2. 나의 스터디 흔적을 사진으로 보여주세요. ​ 3. 이번 스터디에서 특별히 좋았던 점이나 어려웠던 점이 있었나요? 새로 알게된 부분이 있다면 알려주세요. ​ 알고리즘 : 문제를 해결하는 절차 프로그램 : 컴퓨터 언어로 알고리즘을 구현한 것 ​ ​ 프로그래밍 : 컴퓨터에 '데이터'와 '알고리즘'을 입력해 원하는 '결과'를 출력하는 것 ex) 재료와 조리법을 가지고 음식을 만든다. ​ 머신러닝 : 컴퓨터에 '데이터'와 원하는 '결과'를 입력해 문제를 해결할 최적의 '알고리즘'을 찾아내는 것 ex) 맛있는 음식을 만들 때까지 조리법을 조금씩 바꿔가며 시도함으로써 최적의 조리법을 찾는다. ​ 머신러닝 과정 1단계) 문제 정의 2단계) 데이터 수집 3단계) 데이터 전처리 4단계) ..
·Algorithm/BaekJoon
# 문제상황 처음에는 두 선분에 대한 직선의 방정식을 2개 세워서 직접 교점을 찾으려고 했으나.. 이렇게 풀면 코드가 복잡해집니다. 이 문제는 아래 2166번 문제를 풀 때 쓰였던 '다각형의 넓이 공식'을 이용해서 풀 수 있습니다. 세 좌표를 이용해 구한 다각형의 넓이가 양수이면 반시계, 음수이면 시계 방향이라고 했었죠? 시계 방향이냐, 반시계 방향이냐를 이용하면 네 점이 교차하는 위치에 있는지 아닌지 알 수 있습니다. (파이썬) 백준 2166번 "다각형의 면적" # 문제상황 다각형의 좌표들을 모두 알고 있을 때, 다각형 넓이를 쉽게 구할 수 있는 공식이 있습니다. 고등학교 때 교육과정에는 없는 내용이지만 수업시간에 '이런 공식도 있습니다~' 하고 흘 beluga9.tistory.com # 답 x0, y..
·Algorithm/BaekJoon
# 문제상황 다각형의 좌표들을 모두 알고 있을 때, 다각형 넓이를 쉽게 구할 수 있는 공식이 있습니다. 고등학교 때 교육과정에는 없는 내용이지만 수업시간에 '이런 공식도 있습니다~' 하고 흘러가듯이 들었던 적이 있었는데 이렇게 알고리즘 문제를 풀 때 만나게 됐네요. 다음 점 A(-4, 9), B(-3, -2), C(-1, 4), D(6, 1), E(3, 10)로 구성된 다각형의 넓이를 구해봅시다. 넓이를 구하는 과정을 그림 하나에 모두 담아보았습니다. 단계별로 설명하자면 다음과 같습니다. 1단계) 각 좌표들을 반시계 방향으로 나열하고, 맨 끝에는 제일 첫 좌표를 한 번 더 써줍니다. - 제일 첫 좌표를 한 번 더 써주는 거 잊지 마세요! - 만일 좌표들을 시계 방향으로 나열하고 문제를 풀면 넓이가 음수로..
·Algorithm/BaekJoon
# 문제상황 1 유클리드 기하학에서의 원은 우리가 일반적으로 알고 있는 원의 개념 그대로입니다. 하지만 택시 기하학에서의 원은 문제에서 주어진 거리 개념을 이용해, 어떤 모양일지 스스로 유추해야하는데요. 가로 길이의 차와 세로 길이의 차의 합이 동일한 점들을 일일이 찍어보면 위와 같이 45도 기울어진 정사각형이 나온다는 것을 알 수 있습니다. 정사각형의 넓이를 구하려면 정사각형의 한 변의 길이에 제곱을 해야되지만, 현재 우리가 알고 있는 건 정사각형의 대각선 길이(2R)입니다. 따라서 귀찮게 정사각형 변의 길이를 구하지 말고, 대각선 길이 제곱에 나누기 2를 해서 바로 넓이를 구해줍시다. # 문제상황 2 유클리드 기하학에서의 원의 넓이를 구할 때, PI 값을 가져와야 합니다. PI 값을 어떻게 계산해야할..
AWS Summit 5월 10일 아마존 웹 서비스(AWS) 측에서 AWS Summit Korea를 열었습니다. AWS Summit은 클라우드 관련 컨퍼런스들 중 가장 큰 규모의 컨퍼런스라고도 말할 수 있습니다. 저는 AWS가 무엇인지 간략하게만 알고 있을 뿐, 사용해본 경험도 깊게 공부해본 경험도 없었기 때문에 입문자용 쉬운 강의들을 찾아들으며 AWS를 자세히 알아보는 시간을 가졌습니다. 여러 강의들 중에서도 AWS를 이해하는 데 가장 큰 도움이 됐던 'AWS 에센셜: 클라우드 기초의 모든 것' 강의와 '초보자를 위한 컨테이너 강의' 내용을 요약해 보도록 하겠습니다. AWS 에센셜: 클라우드 기초의 모든 것 클라우드 컴퓨팅을 사용하면 인프라를 더는 하드웨어가 아닌, 소프트웨어로 생각하고 사용할 수 있습니..
innit
'분류 전체보기' 카테고리의 글 목록 (4 Page)