BOJ-2579 계단 오르기
https://www.acmicpc.net/problem/2579 문제 소개 주어진 계단과 조건 하에서 얻을 수 있는 최대의 점수를 구하는 문제이다. 문제 풀이 scores라는 dictionary는 key값으로 현재 계단 위치를 갖고, value값으로 현재 위치에 1칸 상승으로 도착했을 때의 누적 점수와 2칸 상승으로 도착했을 때의 누적 점수를...
https://www.acmicpc.net/problem/2579 문제 소개 주어진 계단과 조건 하에서 얻을 수 있는 최대의 점수를 구하는 문제이다. 문제 풀이 scores라는 dictionary는 key값으로 현재 계단 위치를 갖고, value값으로 현재 위치에 1칸 상승으로 도착했을 때의 누적 점수와 2칸 상승으로 도착했을 때의 누적 점수를...
https://www.acmicpc.net/problem/1002 문제 소개 두 원의 중심 좌표와 반지름이 주어졌을 때 만나는 점의 개수를 구하는 문제이다. 문제 풀이 두 원의 중심 간의 거리인 d를 계산하고 d의 값에 따라 조건을 나누어 점의 개수를 찾는다. d가 0인 경우 : 두 원은 동심원이다. r1과 r2가 같...
https://www.acmicpc.net/problem/10837 문제 소개 게임의 라운드 수 k가 주어졌을 때, 입력되는 m, n이 영희와 동수의 점수가 될 수 있는지 판별하는 문제이다. 문제 풀이 아래와 같이 세 경우로 나누어 생각한다. 주어진 m과 n이 가능한 점수이려면 점수가 m, n이 되기 전의 이전 점수가 문제의 3번 규칙을 만족해...
https://www.acmicpc.net/problem/1009 문제 소개 컴퓨터가 10대 있을 때, 정수 $a$와 $b$가 주어지면 $a^b$번째 데이터가 몇 번째 컴퓨터로 처리될지 계산한다. 문제 풀이 필요한 것은 $a^b$를 10으로 나누었을 때 나머지이므로 a를 10으로 나눈 나머지를 a로 사용한다. 그리고 수를 거듭제곱하게 되면 일...
https://www.acmicpc.net/problem/1463 문제 소개 정수 X를 연산 세 개를 적절히 사용하여 1로 만드는 동시에 연산 횟수를 최소화해야 한다. 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지이다. X가 3으로 나누어지면, 3으로 나눈다. X가 2로 나누어지면, 2로 나눈다. 1을 뺀다. Pytho...
https://www.acmicpc.net/problem/1655 문제 소개 수가 하나씩 추가될 때마다 지금까지 추가된 수들의 중간값을 출력하는 문제이다. 우선순위 큐를 이용하여 해결하였다. 힙을 사용하기 위해 heapq 모듈을 import하였다. 문제 풀이 먼저 중간값보다 작은 수들이 들어갈 힙을 heapL, 중간값보다 큰 수들이 들어갈 힙을...
소개 배낭 문제는 조합 최적화 카테고리의 대표적인 문제 유형이다. 이는 배낭의 최대 무게가 정해져 있을 때, 일정한 가치와 무게가 있는 짐들을 가치의 합이 최대가 되도록 배낭에 넣는 방법을 찾는 문제이다. 짐을 쪼갤 수 있는 경우는 분할가능 배낭문제(Fractional Knapsack Problem) 이라고 하며, 쪼갤 수 없는 경우는 0-1 배...
알고리즘 풀이 중에는 수행 시간을 측정하는 일을 종종 하게된다. 파이썬에서는 time 모듈을 이용하면 그것이 가능하다. import time start_time = time.time() end_time = time.time() print("Elapsed time : ", end_time - start_time) 본 프로그램의 수행 전과 후에 ...
학습한 내용을 기록하기 위해 Github Page를 통해서 Jekyll 블로그를 시작했습니다. 꾸준히 공부한 내용을 포스팅할 예정입니다!