👩🏻💻 문제 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/11724 package main import ( "bufio" "fmt" "os" ) var ( graph [][]int visited []bool ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout)..
👩🏻💻 문제 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/1012 package main import ( "bufio" "fmt" "os" ) var ( graph [][]int visited [][]bool ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() var t int fmt.Fsca..
👩🏻💻 문제 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/4963 package main import ( "bufio" "fmt" "os" ) var ( graph [][]int visited [][]bool ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() for { va..
👩🏻💻 문제 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1≤n≤100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어진 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/2644 package main import ( "bufio" "fmt" "os" ) var ( graph [][]int writer *bufio.Writer answer int ) func main() { reader := bufio.NewReader(os.Stdin) writer = bufio.NewWriter(os.Stdout) defer writ..
👩🏻💻 문제 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/10867 package main import ( "bufio" "fmt" "os" "sort" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() var n int fmt.Fscanln(reader, &n) var numbers = map[int]bool..
👩🏻💻 문제 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/1934 package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() var t int fmt.Fscanln(reader, &t) for i..
👩🏻💻 문제 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/7785 package main import ( "bufio" "fmt" "os" "sort" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() var n int fmt.Fscanln..
👩🏻💻 문제 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/2606 package main import ( "bufio" "fmt" "os" ) var ( graph [][]int visited []bool writer *bufio.Writer count int ) func main() { reader := bufio.NewReader(os.Stdin) writer = bufio.NewWriter(os.Stdout) defer w..