티스토리 뷰
반응형
문제
풀이
같은 간격으로 가로수를 심기 위해서 각 간격들의 최대공약수를 구해줬다.
두 가로수 사이에 심을 가로수의 개수는 간격 // 최대공약수 -1 이다.
import sys
from math import gcd
# 이미 심어져 있는 가로수 수
N = int(sys.stdin.readline())
# 첫 가로수 위치
a = int(sys.stdin.readline())
# 가로수들 사이의 값을 저장할 배열
arr = []
# 가로수들 사이의 간격 저장
for i in range(N-1):
num = int(sys.stdin.readline())
arr.append(num - a)
a = num
# arr에 들어있는 모든 수들의 최대공약수 찾기
g = arr[0]
for j in range(1, len(arr)):
g = gcd(g, arr[j])
# 둘 사이에 심을 가로수 개수: 간격 // 최대공약수 - 1
result = 0
for each in arr:
result += each // g - 1
print(result)
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 코틀린
- kotlin fragment
- 코틀린 리스트뷰
- 안드로이드
- 백준 2003
- 안드로이드 카카오톡으로 로그인
- 코틀린 데이터바인딩
- 백준알고리즘
- 안드로이드 키해시
- flutter simultor
- Kotlin
- 시뮬레이터 키보드
- 데이터바인딩 뷰바인딩 차이
- 코틀린 바텀네비게이션
- 카카오 키해시
- 카카오 기출
- 백준
- 백준 1644
- 프로그래머스
- 카카오톡으로 로그인 오류
- 소수 구하기 파이썬
- 백준 1806
- counting sort
- 투포인터 알고리즘
- 투포인터 알고리즘 파이썬
- 파이썬 최대공약수
- TextFormField keyboard
- 코틀린 뷰바인딩
- 코틀린 뷰페이저
- 전화번호목록 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함