👩🏻💻 문제 18243번: Small World Network 첫 번째 줄에 지구에 있는 사람의 수 N과 친구 관계의 개수 K가 주어진다. 모든 사람은 1부터 N까지 번호가 매겨져 있다. (1 ≤ N ≤ 100, 0 ≤ K ≤ N×(N-1)/2) 두 번째 줄부터 K+1번째 줄까지 친구 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/18243 package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() var n, k int fmt.F..
👩🏻💻 문제 11265번: 끝나지 않는 파티 입력의 첫 번째 줄에는 파티장의 크기 N(5 ≤ N ≤ 500)과 서비스를 요청한 손님의 수 M(1 ≤ M ≤ 10,000) 이 주어진다. 각각의 파티장은 1번부터 N번까지 번호가 붙여져 있다. 다음에는 N개의 줄에 걸 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/11265 package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() var n, m int fmt.Fscanln(reade..
👩🏻💻 문제 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/11403 package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() var n int fmt.Fscanln(reader, &n) var graph = make([][]int, n) for i := 0;..
👩🏻💻 문제 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/2178 package main import ( "bufio" "fmt" "os" "strings" ) var ( graph [][]string count [][]int rowDiff = []int{0, 0, -1, 1} colDiff = []int{-1, 1, 0, 0} ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.New..
👩🏻💻 문제 9372번: 상근이의 여행 첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고, 각 테스트 케이스마다 다음과 같은 정보가 주어진다. 첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000) 가 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/9372 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,..
👩🏻💻 문제 2740번: 행렬 곱셈 첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/2740 // 행렬의 거듭제곱을 계산하기 전에 먼저 풀어야 할 문제 package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() var n, ..
👩🏻💻 문제 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/1629 // 분할 정복으로 거듭제곱을 빠르게 계산하는 문제 package main import ( "bufio" "fmt" "math/big" "os" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() var a, b, c int64 fmt.Fscanln(reader, &a, &b, &..
👩🏻💻 문제 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1의 세 값 중 하나가 저장되어 있다. 우리는 이 행렬을 적절한 크기로 자르려고 하는데, 이때 다음의 규칙에 따라 자르려고 한다. www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/1780 // 쿼드트리와 비슷한데 4개 대신 9개로 나누는 문제 package main import ( "bufio" "fmt" "os" ) var ( paper [][]int minusCount int zeroCount int plusCount int ) func main() { reader := bufio.NewReader(os.Stdin) writer..