일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그리디 알고리즘
- DP
- c#
- 브루투포스
- C#강의
- 완전탐색
- 파이썬
- 합 구하기
- 연관관계
- 소수찾기
- 1일1솔
- python3
- deque
- 프로그래머스
- Python
- 소수판별
- appendleft
- spring
- 우선순위큐
- LCM
- pypy3
- 누적합
- Java
- 인프런
- mvc
- JPA
- BFS
- unity
- 백준
- popleft
- Today
- Total
목록분류 전체보기 (139)
jae_coding

문제 문제 링크 문제 접근 에라토스테네스의 체 알고리즘 사용 에라토스테네스 위키피디아 에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전 ko.wikipedia.org 코드 import sys input = sys.stdin.readline m = int(input()) n = int(input()) # 에라토스테네스 알고리즘 dp = [True for _ in range(n+1)] for i in range(2, n+1): if dp[i]: j = 2 while i * j

문제 문제 링크 문제 접근 최대 공약수를 구한다. import math를 이용하면 쉽게 해결 가능 math.gcd (최대 공약수) lcm은 인자 2개의 곱을 gcd로 나눈 값을 출력한다. 코드 import sys, math input = sys.stdin.readline a, b = map(int, input().split()) # Greatest Common Factor gcd = math.gcd(a, b) print(gcd) # Least Common Multiple print(a * b // gcd)

문제 문제 링크 문제 접근 파이썬 Str -> Int 변환 사용 코드 import sys input = sys.stdin.readline n, b = input().split() print(int(n, base=int(b)))

문제 문제 링크 문제 접근 최대 공약수를 구한다. 최대 공약수의 약수들을 오름차순으로 나열 import math를 이용하면 쉽게 해결 가능 math.gcd (최대 공약수) 코드 import sys import math input = sys.stdin.readline n = int(input()) n_list = list(map(int, input().split())) # greatest common factor gcf = math.gcd(*n_list) for i in range(1, gcf+1): if gcf % i == 0: print(i)

문제 문제 링크 문제 접근 누적합 누적합의 최댓값과 누적합의 최댓값의 갯수 찾기 만약 누적합의 최댓값이 0이면 SAD 출력 코드 import sys input = sys.stdin.readline n, x = map(int, input().split()) visited_num = list(map(int, input().split())) s = list() temp = sum(visited_num[:x]) s.append(temp) for i in range(n-x): temp = temp - visited_num[i] + visited_num[x + i] s.append(temp) if max(s) == 0: print("SAD") else: print(max(s)) print(s.count(max(s)))

문제 문제 링크 문제 접근 누적합 input 리스트 생성 0번째 인덱스부터 차례대로 n-1번째까지 누적합 구하기 a ~ b이면 누적합 b - 누적합 a를 구해준다 (시작점이 1인점은 제외) 코드 import sys input = sys.stdin.readline n = int(input()) # 입력 리스트 a = list(map(int, input().split())) # 누적합 구하기 s = list() s.append(a[0]) for i in range(1, n): s.append(s[i-1] + a[i]) m = int(input()) for i in range(m): start, end = map(int, input().split()) if start == 1: print(s[end-1]) e..

문제 문제 링크 문제 접근 에라토스테네스의 체 알고리즘 사용 에라토스테네스 위키피디아 에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전 ko.wikipedia.org 코드 import sys input = sys.stdin.readline a, b = map(int, input().split()) result = 0 array = [True for _ in range(int(pow(b, 0.5)) + 1)] # 에라토스테네스의 체 (10 ** 7까지 리스트 적용) for i in range(2, int(pow(b, 0.5)) + 1): if array[i]: j = 2 while i * j

문제 문제 링크 문제 접근 숫자가 1보다 작거나 같으면 소수가 아니다. 2로 나누어 떨어진다면 소수가 아니다. (2일 경우는 제외) 3이상일 경우에 루트를 씌운 값보다 작을 경우 나누어서 0 일 경우에는 소수가 아니다. 나머지 경우에는 소수가 된다. 리스트에서 소수인 경우의 수를 합하면 결과값이 도출된다. 코드 import sys input = sys.stdin.readline def is_prime_number(number): if number

문제 문제 링크 코드 import sys from itertools import product input = sys.stdin.readline n, m = map(int, input().split()) if n == 1: print(int(input())) else: lst = list(map(int, input().split())) lst.sort() for i in product(lst, repeat=m): print(*i)