두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
I/O
입력 예제
42 84 252 420 840 126 42 84 420 126
39 40 41 42 43 44 82 83 84 85
출력예제
1
6
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
var numbers = make([]int, 10)
var rest []int
for i := range numbers {
fmt.Fscanf(reader, "%d ", &numbers[i])
var temp = numbers[i] % 42
rest = validate(rest, temp)
}
fmt.Println(len(rest))
}
func validate(arr []int, temp int) []int {
for _, n := range arr {
if temp == n {
//arr 에 temp가 있다면 다시 return
return arr
}
}
//arr에 temp가 없다면 arr에 temp를 넣어서 return
return append(arr, temp)
}