Algorithm (129) 썸네일형 리스트형 숫자 박스 (1983번) - 백준 (BOJ) https://www.acmicpc.net/problem/1983 1983번: 숫자 박스 첫 줄에는 숫자 박스의 열의 수를 나타내는 정수 N(1 ≤ N ≤ 400)이 주어진다. 그 다음 두 줄에는 각각 숫자 박스의 위와 아래의 행에 놓인 초기 숫자판들의 숫자가 하나 이상의 공백을 두고 나타 www.acmicpc.net 백준 - 숫자 박스 (1983번) (counting ones) 난이도 : Gold 2 알고리즘 : Dynamic Programming Time Complexity : O( N ^ 3 ) import sys input = sys.stdin.readline def check(i, r, c): maxy = 0 if 0 1의 개수 세기 (9527번) - 백준 (BOJ) https://www.acmicpc.net/problem/9527 9527번: 1의 개수 세기 두 자연수 A, B가 주어졌을 때, A ≤ x ≤ B를 만족하는 모든 x에 대해 x를 이진수로 표현했을 때 1의 개수의 합을 구하는 프로그램을 작성하시오. 즉, f(x) = x를 이진수로 표현 했을 때 1의 개수라 www.acmicpc.net 백준 - 1의 개수 세기 (9527번) (counting ones) 난이도 : Gold 2 알고리즘 : Mathematics Time Complexity : O( log(B) ) def get_cases(n): ds = list(map(int, bin(n)[2:]))[::-1] cases = acc = sum(ds) acc -= 1 for i in range(len(ds).. K번째 수 (1300번) - 백준 (BOJ) https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net 백준 - K번째 수 (1300번) 난이도 : Gold 2 알고리즘 : Parametric Search (Binary Search) Time Complexity : O( N * log(N) ) if __name__ == '__main__': N, k = int(input()), int(input()) s, e = 1, N*N while s >1 cnt = sum(min.. 찾기 (1786번) - 백준 (BOJ) https://www.acmicpc.net/problem/1786 1786번: 찾기 첫째 줄에, T 중간에 P가 몇 번 나타나는지를 나타내는 음이 아닌 정수를 출력한다. 둘째 줄에는 P가 나타나는 위치를 차례대로 공백으로 구분해 출력한다. 예컨대, T의 i~i+m-1번 문자와 P의 1~m www.acmicpc.net 백준 - 찾기 (1786번) 난이도 : Platinum 5 알고리즘 : KMP (Knuth–Morris–Pratt algorithm) Time Complexity : O( T + P ) import sys input = sys.stdin.readline if __name__ == '__main__': t = input().rstrip() p = input().rstrip() lp, lt = .. 두 원 사이의 정수쌍 (181187번) - 프로그래머스 (Programmers) https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 - 두 원 사이의 정수쌍 (181187번) 난이도 : Lv 2 알고리즘 : Mathematics Time Complexity : O( R ) from math import ceil def solution(r1, r2): answer = 0 sqr2 = 2**0.5 m = int(r1/sqr2)+1 e = int(r2/sqr2)+1 for i in range(1, m): answer .. 카운트 다운 (131129번) - 프로그래머스 (Programmers) https://school.programmers.co.kr/learn/courses/30/lessons/131129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 - 카운트 다운 (131129번) 난이도 : Lv 3 알고리즘 : Dynamic Programming Time Complexity : O( N ) def solution(target): memo = [[0, 0] for _ in range(max(70, target)+1)] for i in range(1, 21): memo[i] = [1, 1] for i in range(21, 41.. 비요뜨의 징검다리 건너기 (18291번) - 백준 (BOJ) https://www.acmicpc.net/problem/18291 18291번: 비요뜨의 징검다리 건너기 강을 건너는 방법은, (1 → 4), (1 → 2 → 4), (1 → 3 → 4), (1 → 2 → 3 → 4)의 4가지이다. www.acmicpc.net 백준 - 비요뜨의 징검다리 건너기 (18291번) 난이도 : Gold 5 알고리즘 : Exponentiation By Squaring Time Complexity : O( T * logN ) import sys input = sys.stdin.readline def get_rem(n: int) -> str: a = 2 b = max(n-2, 0) ans = 1 dnmnt = 1_000_000_007 while b: a %= dnmnt if b&1.. 흙길 보수하기 (1911번) - 백준 (BOJ) https://www.acmicpc.net/problem/1911 1911번: 흙길 보수하기 어젯밤 겨울 캠프 장소에서 월드 본원까지 이어지는, 흙으로 된 비밀길 위에 폭우가 내려서 N (1 이전 1 ··· 10 11 12 13 14 15 16 17 다음