https://www.acmicpc.net/problem/9613
문제
접근법
문제 잘 읽자.
테스트 케이스에서 처음의 수는 수의 개수 n이고, 그 다음부터 n개의 수가 주어짐.
4 10 20 30 40 -> n=4, 10,20,30,40 4개로 GCD 구하는 것
앞에서부터 하나씩 비교하며 GCD를 구하며 합을 누적시킴.
GCD함수인 math.gcd()를 사용하였는데, 비교를 해보니 이걸 사용하나 직접 구현하나 시간은 거의 비슷함.
때문에 직접 구현을 할 수 있으니 이제 함수 사용에 익숙해보고자 함.
코드
import sys
import math
n=int(input())
for i in range(n):
arr=list(map(int, sys.stdin.readline().split()))
total=0
for j in range(1,len(arr)):
for k in range(j+1,len(arr)):
total+=math.gcd(arr[j],arr[k])
print(total)
'코딩테스트 준비 > 백준' 카테고리의 다른 글
[백준] 1373번 2진수 8진수 - 파이썬(Python) (0) | 2021.08.26 |
---|---|
[백준] 17087번 숨바꼭질 6 - 파이썬(Python) (0) | 2021.08.23 |
[백준] 1676번 팩토리얼 0의 개수 - 파이썬(Python) (0) | 2021.08.19 |
[백준] 10872번 팩토리얼 - 파이썬(Python) (0) | 2021.08.18 |
[백준] 6588번 골드바흐의 추측 - 파이썬(Python) (0) | 2021.08.18 |