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

문제 문제 링크 문제 접근 소수를 탐색하는 함수를 구현한다. 팰린드롬을 찾는 함수를 구현한다. 입력 받은 수인 n보다 큰 경우에 while loop를 돌리면서 n을 점차 증가시킨다. 위 두 함수를 충족한다면 프린트 후 브레이크를 걸어준다. 코드 import sys, math input = sys.stdin.readline def is_prime(num): if num == 1: return False if num % 2 == 0: if num == 2: return True return False for i in range(3, int(math.sqrt(num)) + 1): if num % i == 0: return False return True def is_pal(num): s = str(num) f..

문제 문제 링크 문제 접근 소수를 탐색하는 함수를 구현한다. 소수라면 prime 리스트에 deque를 이용하여 추가시킨다. 소수가 존재하지 않는다면 -1을 출력한다. 만약 소수가 존재한다면 pop을 두번해서 최소 공배수를 구하는 공식 (x * y / 최대공약수)을 이용하여 소수의 리스트가 1이 될때까지 반복한다. 코드 import sys, math from collections import deque input = sys.stdin.readline def is_prime(num): if num == 1: return False if num % 2 == 0: if num == 2: return True return False for i in range(3, int(math.sqrt(num)) + 1): i..

문제 문제 링크 문제 접근. 배열 슬라이싱 사용하여 Input list 를 해결한다. itertools의 combination을 사용하여 중복을 허용하지 않는 조합을 만들어 낸다. math. gcd 사용하여 최대 공약수 도출한다. 코드 import sys, math from itertools import combinations input = sys.stdin.readline t = int(input()) for _ in range(t): input_list = list(map(int, input().split())) sum_gcd = 0 for i in combinations(input_list[1:], 2): a, b = i gcd = math.gcd(a, b) sum_gcd += gcd print(s..

문제 문제 링크 문제 접근 math.gcd활용 ( 최대 공약수 ) 최대 공약수가 1이라면 그 두개의 수는 서로소 코드 import sys, math input = sys.stdin.readline # 서로소: 1을 제외한 나머지 공약수중 곂치는것이 없는 수 n = int(input()) a = list(map(int, input().split())) x = int(input()) result = list() for i in a: gcd = math.gcd(i, x) if gcd == 1: result.append(i) print(sum(result) / len(result))

문제 문제 링크 문제 접근 에라토스테네스의 체를 사용하기에는 n의 범위가 4 * 10^ 9이기 때문에 적합하지 않다. 그렇기 때문에 일반 prime number을 구하는 함수를 만들어 사용한다. 만든 함수에서 n보다 크거나 같은 수 중 프라임넘버를 찾고 break포인트를 걸어준다. 코드 import sys, math input = sys.stdin.readline def is_prime_number(number): if number

문제 문제 링크 문제 접근 while 루프 사용 index를 1씩 증가시키며 mod가 0인경우 출력해준다. 코드 import sys input = sys.stdin.readline n = int(input()) i = 2 while n != 1: if n % i == 0: n /= i print(i) i = 2 else: i += 1

문제 문제 링크 문제 접근 에라토스테네스의 체 알고리즘 사용 에라토스테네스 위키피디아 에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전 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)