👩🏻💻 문제 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1≤N ≤64의 범위를 가진다. 두 번째 줄부터는 길이 N 의 문자열이 N 개 들어온다. 각 문자열은 0 또는 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/1992 // 쿼드트리를 문자열로 바꾸는 문제 package main import ( "bufio" "fmt" "os" "strings" ) var ( image [][]string writer *bufio.Writer ) func main() { reader := bufio.NewReader(os.Stdin) writer = bufio.NewWriter..
👩🏻💻 문제 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..
👩🏻💻 문제 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/5635 package main import ( "bufio" "fmt" "os" "sort" ) type studentFormat struct { name string day int month int year int } func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() var n int fmt.Fscan..
👩🏻💻 문제 3182번: 한동이는 공부가 하기 싫어! H-ALGO 회원인 한동이는 공부하는것을 좋아하지 않는다. 하지만 약삭빠르게도 한동이는 공부도 하지 않으면서 어려운 시험을 통과하고 싶어한다. 그러던 와중 어느 날, 한동이의 동기가 한동이에 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/3182 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 n i..
👩🏻💻 문제 10708번: 크리스마스 파티 JOI는 친구 1부터 친구 N까지 총 N 명의 친구와 함께, 크리스마스 파티에 갔습니다. 크리스마스 파티 분위기도 달아오르니, JOI는 친구들과 함께 다음과 같은 게임을 하기로 했습니다. 가장 먼저, JO www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/10708 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(reader, &n) fm..
Switch-case 문법 // switch문 switch(expression) { // case문 // value는 expression의 데이터 타입과 동일하여야 한다. case value1 : statements; break; // (옵션) // -> break를 만나는 경우 switch문을 탈출한다. break문이 없으면, 아래의 조건들이 모두 실행된다. case value2 : statements; break; // (옵션) // default문 // 모든 조건에 맞지 않는 경우 실행된다. default : statements; } 1. 중복된 case 값은 허용하지 않는다. 2. case의 값은 switch() 에 들어가는 변수와 동일한 데이터 타입이어야 한다. 3. case의 값은 상수 또는 ..
자동 형변환 자동 형변환은 표현 범위가 좁은 데이터 타입에서 넓은 데이터 타입으로의 변환만 허용된다. double a = 10.0F; // (가능) double형보다 표현 범위가 좁은 float형을 담으므로, 자동 형변환이 일어난다. float a = 3.0; // (불가능) float형보다 표현 범위가 넓은 double형을 담으려고 하면, 오류가 발생한다. cf. 자바에서는 기본적으로 상수값도 데이터 타입을 가지고 있다. 실수 float형을 표현하고 싶다면 숫자 뒤에 F를 명시해줘야하며, F를 명시하지 않는 경우 기본 데이터 타입은 double이 된다. 자동 형변환이 일어날 수 있는 규칙은 다음과 같다. byte -> short -> int -> long -> float -> double char ->..
👩🏻💻 문제 4573번: Pizza Pricing The input contains a series of one or more menus. Each menu starts with the number of options N, 1 ≤ N ≤ 10, followed by N lines, each containing two integers respectively designating a pizza's diameter D (in inches) and price P (in dollars), wit www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/4573 package main import ( "bufio" "fmt" "math" "os" ) func ..