2609번: 최대공약수와 최소공배수 (🥈 실버 5티어)
a, b = map(int, input().split())
def GCD(a, b):
if b == 0:
return a
return GCD(b, a % b)
gcd = GCD(a, b)
print(gcd)
print(a * b // gcd)
유클리드 호제법. 처음 접근은 실제 최대공약수, 최소공배수 구하는 식으로 처음 부터 다 따졌는데, 시간 초과 남. 최소공배수는 두 수의 곱을 최대공약수로 나누면 됨.
2693번: N번째 큰 수 (🥈 실버 5티어)
t = int(input())
numArray = []
for i in range(t):
numArray.append(list(map(int, input().split())))
# print(numArray)
for arr in numArray:
arr.sort()
print(arr[-3])
1978번: 소수 찾기 (🥈 실버 4티어)
def is_prime_num(n):
for i in range(2, n):
if n % i == 0:
return False
return True
n = int(input())
numList = list(map(int, input().split()))
count = 0
for i in numList:
if i == 1:
continue
if is_prime_num(i):
count += 1
print(count)
1292번: 쉽게 푸는 문제 (🥈 실버 5티어)
a, b = map(int, input().split())
arr = []
for i in range(50):
arr += [i] * i
print(sum(arr[a - 1:b]))
python 리스트 더하기는 +, 리스트 내 원소 합은 sum
더보기
더보기
a, b = map(int, input().split())
result = 0
arr = []
curNum = 1
while True:
for i in range(curNum):
arr.append(curNum)
curNum += 1
if len(arr) > b:
break
for i in range(a - 1, b):
result += arr[i]
print(result)
2581번: 소수 (🥈 실버 5티어)
m = int(input())
n = int(input())
def is_prime_num(n):
if n == 1:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
arr = []
for num in range(m, n + 1):
if is_prime_num(num):
arr.append(num)
if arr:
print(sum(arr), arr[0], sep="\n")
else:
print(-1)
'없을 경우는 -1를 출력하라' 와 같은 조건들 무시하면 안됩니다.
'Coding Test > 문제 풀이' 카테고리의 다른 글
[Algorithm] 빗물 (백준 14719) (0) | 2022.01.19 |
---|---|
[Algorithm] 준비운동 PART 2. 약점 체크 (0) | 2022.01.11 |
[Algorithm] 준비운동 PART 1. 튼튼한 기본기 (1) (0) | 2022.01.10 |
[Algorithm] 뱀 (백준 3190) (0) | 2022.01.05 |
[Algorithm] 소수 찾기 (0) | 2021.12.30 |