dev/algorithm
BOJ / 3052번 / 나머지 [Golang]
crscnt
2020. 4. 12. 21:00
문제
3052번: 나머지
문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었
www.acmicpc.net
풀이
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
var numbers = make([]int, 10)
var mods []int
for i := range numbers {
fmt.Fscanf(reader, "%d\n", &numbers[i])
var mod = numbers[i] % 42
if !contains(mods, mod) {
mods = append(mods, mod)
}
}
fmt.Println(len(mods))
}
func contains(numbers []int, number int) bool {
for _, n := range numbers {
if number == n {
return true
}
}
return false
}
728x90