체리의 하루
Published 2023. 3. 17. 11:33
[Go] BOJ / 10807번 / 개수 세기 BOJ/Go

💻 문제

 

10807번: 개수 세기

첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거

www.acmicpc.net

 

📜 풀이

package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	var a, c, count int

	r := bufio.NewReader(os.Stdin)

	fmt.Fscanln(r, &a)
	var slice []int = make([]int, a)

	for i := 0; i < a; i++ {
		fmt.Fscan(r, &slice[i])
	}

	fmt.Fscan(r, &c)

	for i := 0; i < a; i++ {
		if c == slice[i] {
			count += 1
		}
	}

	fmt.Println(count)
}

 

✍ 설명

  • Go Array 
    • 동일한 타입의 데이터를 연속적으로 저장
    • 배열의 크기를 동적으로 증가시키거나 부분 배열을 발췌하는 게 불가능 하는 등의 기능 부족
  • Go Slice
    • 크기를 미리 지정하지 않고 크기를 동적으로 변경 가능
    • 부분 배열 발췌 가능
    • make (생성할 슬라이스 타입, Length, Capacity)
      • Length : 슬라이스의 길이
      • Capacity : 내부 배열의 최대 길이 - 지정하지 않으면 Length와 동일
728x90