👩🏻💻 문제 1802번: 종이 접기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. T는 1000보다 작거나 같은 자연수이다. 둘째 줄부터 T개의 줄에 각각의 종이가 어떻게 접혀있는지가 주어진다. 종이의 정보는 문자열로 주어지며, 1 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/1802 package main import ( "bufio" "fmt" "os" "strings" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() var t int fmt.Fscanln(reader, &t) for ..
👩🏻💻 문제 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..
👩🏻💻 문제 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/2630 // 쿼드트리를 만드는 문제 package main import ( "bufio" "fmt" "os" ) var ( paper [][]int ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush..