👩🏻💻 문제 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/1874 // 스택을 활용하는 문제 package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writ..
👩🏻💻 문제 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/4949 // 주어진 문자열이 올바른 괄호열인지 판단하는 문제2 package main import ( "bufio" "fmt" "os" "strings" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() f..
👩🏻💻 문제 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/9012 // 주어진 문자열이 올바른 괄호열인지 판단하는 문제 package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() var..
👩🏻💻 문제 2004번: 조합 0의 개수 첫째 줄에 정수 n, m (0 ≤ m ≤ n ≤ 2,000,000,000, n ≠ 0)이 들어온다. www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/2004 // nCm의 끝에 0이 얼마나 많이 오는지 구하는 문제 package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() var n, m, count, twoCount, fiveCount int fmt.Fscanln(reader, &n, &m)..
👩🏻💻 문제 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net ✍🏻 풀이 🎨 Go // https://www.acmicpc.net/problem/1676 // 소인수분해의 성질을 활용하여 N!의 끝에 0이 얼마나 많이 오는지 구하는 문제 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) // 팩토리얼로 풀면 오버플로우 ..
👩🏻💻 문제 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net ✍🏻 풀이 🎨 Python3 import sys def calculate(n): if n == 1: return values[0][0] max_values = [[values[0][0]]] idx = 0 for i in range(1, n): val = [] for j in range(0, i+1): if j-1i-1: max_val = max_values[i-1][j-1] else: max_val = max(max_values[i-1][j], max_values[i-1][j-1]) val.append(max_val+v..
👩🏻💻 문제 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net ✍🏻 풀이 🎨 Go package main import ( "bufio" "fmt" "math" "os" ) func main() { reader := bufio.NewReader(os.Stdin) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() var n int fmt.Fscanln(reader, &n) cost := [][]int{} for i := 0; i < n; ..
👩🏻💻 문제 9461번: 파도반 수열 문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 � www.acmicpc.net ✍🏻 풀이 🎨 Go package main import ( "fmt" "os" "bufio" ) func main() { reader := bufio.NewReader(os.Stdin) var t int fmt.Fscanln(reader, &t) writer := bufio.NewWriter(os.Stdout) defer writer.Flush() for i :=0; i