목록백준 알고리즘 문제 기록 (74)
Where who wants to meet someone
난이도 실버 IV 문제 https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 내 답안 while let input = readLine(), input != "." { var vpsStack = [Character]() var trash = [Character]() for character in input { switch character { case "(", "[": vpsStack.append(character) case ")..
난이도 실버 IV 문제 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 내 답안 var vpsStack = [String]() var vpsCount = 0 func test(with arr: [String]) -> String { vpsStack.removeAll() vpsCount = 0 for i in arr.indices { vpsStack.append(arr[i]) if arr[i] == "(" { vps..
난이도 실버 IV 문제 https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 내 답안 var accountBook = [Int]() for _ in 1...Int(readLine()!)! { let input = Int(readLine()!)! switch input { case 0: accountBook.removeLast() default: accountBook.append(input) } } print(acco..
난이도 실버 IV 문제 https://www.acmicpc.net/problem/28278 28278번: 스택 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 내 답안 var customStack = [Int]() func pushStack(what: Int) { customStack.append(what) } func popStack() { guard let lastElement = customStack.popLast() else { print(-1) return } print(lastElement) } func numberOfStack() { print..
난이도 실버 V 문제 https://www.acmicpc.net/problem/13909 13909번: 창문 닫기 첫 번째 줄에는 창문의 개수와 사람의 수 N(1 ≤ N ≤ 2,100,000,000)이 주어진다. www.acmicpc.net 내 답안 import Foundation let input = Int(readLine()!)! /* 4 = 1 2 4 9 = 1 3 9 16 = 1 2 4 8 16 */ var count = 0 var i: Float = 1 while Int(pow(i, 2))