👩🏻💻 문제 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net ✍🏻 풀이 🎨 Go 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 cards = map[int]int{} for i := 0; i ..
👩🏻💻 문제 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (1 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/2110 // 이분 탐색을 응용하여 최솟값이나 최댓값을 찾는 문제 3 package main import ( "bufio" "fmt" "os" "sort" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) d..
👩🏻💻 문제 20207번: 달력 수현이는 일년의 날짜가 1일부터 365일로 표시되어있는 달력을 가지고있다. 수현이는 너무나도 계획적인 사람이라 올 해 일정을 모두 계획해서 달력에 표시해놨다. 여름이 거의 끝나가자 장 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/20207 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) scheduleMap := m..
👩🏻💻 문제 20206번: 푸앙이가 길을 건너간 이유 첫째 줄에는 정수 A, B, C (-10,000 ≤ A, B ≤ 10,000, -100,000 ≤ C ≤ 100,000)가 주어진다. 해당 숫자들은 좌표 평면 상에서 Ax+By+C=0 형태로 표현되는 푸앙이가 지나가는 직선 상의 경로을 나타낸다. (단 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/20206 package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() var a, ..
👩🏻💻 문제 20205번: 교수님 그림이 깨지는데요? N x K 줄에 걸쳐, 늘어난 단색 비트맵 이미지의 픽셀 정보를 출력한다. www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/20205 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.Fscanln(reader, &n, &k) var bitmap = make([][]int, n) for i := 0; i < n; i++ { bitmap[i] ..
👩🏻💻 문제 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M을 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/2805 // 이분 탐색을 응용하여 최솟값이나 최댓값을 찾는 문제 2 package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Fl..
👩🏻💻 문제 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/1654 // 흔히 parametric search라고도 부르는, 이분 탐색을 응용하여 최솟값이나 최댓값을 찾는 테크닉을 배우는 문제 package main import ( "bufio" "fmt" "os" "sort" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio..
👩🏻💻 문제 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/10816 // 이분 탐색으로 값의 개수를 찾아 봅시다. package main import ( "bufio" "fmt" "os" "sort" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush(..