티스토리 뷰

문제
 

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

'dev > algorithm' 카테고리의 다른 글

BOJ / 8958번 / OX퀴즈 [Golang]  (0) 2020.04.14
BOJ / 1546번 / 평균 [Golang]  (2) 2020.04.13
BOJ / 2577번 / 숫자의 개수 [Golang]  (0) 2020.04.11
BOJ / 2562번 / 최댓값 [Golang]  (0) 2020.04.10
BOJ / 10818번 / 최소, 최대 [Golang]  (5) 2020.04.09
댓글