BaekJoon - 3052

이민기·2022년 2월 3일
0

GO

목록 보기
14/15
post-thumbnail

백준 3052 - 나머지

문제

두 자연수 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)
}
profile
블로그를 옮기는 중입니다. https://min71.dev

0개의 댓글