https://www.acmicpc.net/problem/17087
17087번: 숨바꼭질 6
수빈이는 동생 N명과 숨바꼭질을 하고 있다. 수빈이는 현재 점 S에 있고, 동생은 A1, A2, ..., AN에 있다. 수빈이는 걸어서 이동을 할 수 있다. 수빈이의 위치가 X일때 걷는다면 1초 후에 X+D나 X-D로 이
www.acmicpc.net
[난이도] Silver1
[유형] 수학
[풀이]
수빈이의 위치와 동생들의 위치의 차이를 배열에 넣어놓고
유클리드 호제법을 이용해 모든 값에 대한 최대공약수를 구하면 된다.
import java.io.BufferedReader
import java.io.InputStreamReader
import kotlin.math.*
fun gcd(n:Int,m:Int):Int{
var a=n
var b=m
if(a>b) a=b.also{b=a}
while(a>0){
var c = b%a
b=a
a=c
}
return b
}
fun main() = with(BufferedReader(InputStreamReader(System.`in`))){
val ip = readLine().split(' ')
val N = ip[0].toInt()
val S = ip[1].toInt()
val arr = readLine().split(' ').map { abs(S-it.toInt()) }
var prev=arr[0]
for(a in arr) prev=gcd(a,prev)
println(prev)
}
https://github.com/has2/Problem-Solving/blob/master/boj-solved.ac/Silver1/17087.cpp
'Problem-Solving > BOJ' 카테고리의 다른 글
[BOJ/백준][Silver1] 15992 : 1,2,3 더하기 7 (C++) (0) | 2021.06.07 |
---|---|
[BOJ/백준][Bronze2] 1373 : 2진수 8진수 (Kotlin) (0) | 2021.05.18 |
[BOJ/백준][Silver3] 9613 : GCD 합 (Kotlin) (0) | 2021.05.18 |
[BOJ/백준][Silver2] 2004 : 조합 0의 개수 (Kotlin)) (0) | 2021.05.18 |
[BOJ/백준][Silver3] 1676 : 팩토리얼 0의 개수 (Kotlin) (0) | 2021.05.18 |