목록전체 글 (210)
쥐수의 공부노트
정답 : let n = Int(readLine()!)! var head = 0 var tail = n - 1 var array : [Int] = [] for i in 1...n { array.append(i) } while true { if head == tail { break } head += 1 var num = array[head] array.append(num) head += 1 tail += 1 } print(array[head]) 더보기 TMI : head와 tail을 이용하면 쉽게 풀린다!
문제 자체는 바로 이전에 작성한 10845번 큐 문제와 동일하지만, 시간에 제한이 있다. 인터넷에는 Swift에서는 입출력이 느리기 때문에, 그것에 대한 문제도 있고, print에 문제가 있다고 나온다.. 그래서 다른 사람의 풀이를 참고하여 진행하였고.. 나중에 시간이 나게 되면 다시 보도록 하자.. import Foundation // 빠른 입력 FileIO final class FileIO { private var buffer:[UInt8] private var index: Int init(fileHandle: FileHandle = FileHandle.standardInput) { buffer = Array(fileHandle.readDataToEndOfFile())+[UInt8(0)] // 인덱스..
정답 : var array : [Int] = [] var head = 0 var tail = 0 func push(num : Int) { array.append(num) tail += 1 } func pop() { if head == tail { print(-1) } else { print(array[head]) head += 1 } } func size() { print(tail - head) } func front() { print(array[head]) } func back() { print(array[tail-1]) } let n = Int(readLine()!)! for _ in 0..
정답 : let n = Int(readLine()!)! var check = true var pos = 1 var result : [String] = [] var array : [Int] = [] for _ in 1...n { let num = Int(readLine()!)! while pos num { check = false } } } if check { result.forEach{print($0)} } else { print("NO") } 더보기 TMI : 실패가 떠서 이유를 찾아보니, print("no")를 해서 틀린 것.. 대소문자에 주의하자..
정답 : while true { var array : [Character] = [] let str = readLine()! if str == "." { break } else { for i in str { if i == "(" || i == ")" || i == "[" || i == "]" { if i == "]" && array.last == "[" { array.removeLast() } else if i == ")" && array.last == "(" { array.removeLast() } else { array.append(i) } } } } print(array.isEmpty == true ? "yes" : "no") } 더보기 TMI : 전에는 스택으로 풀지 않았지만, 이번엔 참고하여 스택..
정답 : let n = Int(readLine()!)! var pos = 0 var array : [Int] = [] var sum = 0 func push(num : Int) { array.append(num) pos += 1 } func pop() { array.remove(at: pos - 1) pos -= 1 } for _ in 0..
해당 문제는 다른 카테고리에서 미리 풀었던 문제입니다. https://jisssuu.tistory.com/164 백준 10828번 스택 정답 : let n = Int(readLine()!)! var array : [Int] = [] var pos = 0 func push(num:Int) { array.append(num) pos += 1 } func pop() { var result = -1 if pos != 0 { result = array[pos-1] } print(result) if result != -1 { array.remove(at: pos-1) pos -= 1 } } jisssuu.tistory.com 해당 사이트를 참고해주세요!