
10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 요약 덱 (Deque) 만들기 풀이 import Foundation let N = Int(readLine()!)! var deque: [Int] = [] func push_front(_ x: Int) { deque.insert(x, at: 0) } func push_back(_ x: Int) { deque.append(x) } func pop_front() -> Int { return deque.isEmpty ? -1 : deque.remov..

1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 문제 요약 N 명의 사람이 원을 이루며 앉아있고 K번째 사람을 제거하는 과정을 반복. 제거되는 사람의 순서를 출력하라. 풀이 1 1...N 이 들어있는 arr 배열에서 K 번째 원소를 제거해주는 과정을 반복한다. import Foundation let input = readLine()!.split(separator: " ").map{ Int(String($0))! } var N = input[0] let K = input[1] var arr = Array(1...N) var result = [Int]() var index = K - 1 while !(a..

10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 요약 큐(Queue)를 만들어 보자. 풀이 import Foundation var queue: [Int] = [] func push(_ x: Int) { queue.append(x) } func pop() -> Int { if queue.isEmpty { return -1 } else { return queue.removeFirst() } } func size() -> Int { return queue.count } func empty() -..

1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 문제 요약 커서를 기준으로 하는 편집기를 만들자. 시간 초과 1 import Foundation var arr = Array(readLine()!) var M = Int(readLine()!)! var index = arr.count func P(_ x: Character) { arr.insert(x, at: index) index += 1 } func L() { if index > 0 { index -= 1 } } func D() { if index < arr...

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 문제 요약 스택에 1부터 n까지의 수를 push 함과 동시에 pop 연산을 적절히 사용해 원하는 수열을 만드는 문제 push는 +로 pop은 -로 print하자. 풀이 수열을 이루는 수(=input)를 입력할때 그 수는 스택에 존재해야 한다. input을 입력 했을때 1부터 input까지 스택에 push 한다. 스택의 마지막 수가 input과 같을 경우에 pop 연산을 수행한다. ..

9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 문제 요약 입력된 문자열이 올바른 괄호 문자열(VPS)인지 확인하는 문제 → 괄호가 제대로 닫혀 있는지 확인 풀이 스택(Stack) 사용 "(" 이 나오면 스택에 추가 → append() ")"이라면 스택에서 제거 → popLast() popLast를 했는데 nil 값이 반환되면 ( = 스택이 비었다면) isEmpty 변수를 true로 바꾸고 break → ")" 에 해당하는 "("가 없음 반복문이 끝나고 isEmpty가 true ..
9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net 입력받은 문장의 각 단어를 뒤집어 출력해야 함 → reversed() 각 단어를 reversed 메서드를 이용해 뒤집고 빈 문자열 result에 추가 단어 사이에 공백 추가할것 // // main.swift // Algorithm Swift // BaekJoon // 9093 - 단어 뒤집기 import Foundation let N = Int(readLine()!)! for _ in 0...(N-1) { let input = readLine()!.spl..
10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 배열을 만든 후 push, pop, count, isEmpty, last 메서드를 이용해 스택의 기능을 구현 후 switch case 사용해 완성 // // main.swift // Algorithm Swift // BackJoon // 10826 - 스택 import Foundation let N = Int(readLine()!)! var stack: [Int] = [] for _ in 0...(N-1) { let input = readLine..
- Total
- Today
- Yesterday
- Custom Detent
- crud
- sheetPresentationController
- Gradient View
- 2023 회고
- Sheet Height
- Card CollectionVIew
- github
- autolayout
- git
- UICollectionView Error
- swift
- BOJ 10809
- Carousel Effect
- ios
- BOJ 10808
- CAGradientLayer
- UICollectionView banner
- BOJ 17413
- 1406 에디터
- BOJ 10866
- BOJ 1935
- BOJ 10799
- BOJ 10820
- Algorithm
- Stack
- NaverMaps
- bottom sheet
- 요시푸스
- BOJ 17298
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |