백준

    10828번 스택 / swift

    https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 스택 개념을 이용하면 된다. 스택 개념은 계속 나왔으니 설명은 안하겠고 여기서 얻어갈 수 있는 것은 명령어를 어떻게 처리 하느냐이다. import Foundation let N = Int(readLine()!)! var stack: [Int] = [] for _ in 1...N { let input = readLine()!.split(separator: " ").map{Strin..

    2164번: 카드 2 / swift

    https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net import Foundation let N = Int(readLine()!)! var queue = Array(1...N) // 이런 배열 형태는 처음봄. var pointer = 0 // 포인터 만들기. if N == 1 {print(1)} // card수가 1이면 그냥 1출력 else { while true { queue[pointer] = 0 // 맨 앞에 있는 카드 버리기. queue.ap..

    1920번 수 찾기 - swift

    https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 처음에는 N과 M 배열을 각각 만든 후에 M배열의 요소를 N배열에 하나하나 모두 비교해서 참, 거짓을 리턴하려 시도 했었다. 하지만 시간도 오래 걸릴 뿐더러 더 좋은 자료구조 방법이 있었다. 그것은 이분 탐색이다. 이분 탐색이 뭔지는 아래 링크에 올려놨으니 살펴보자. https://zerostar0809.tistory.com/10?category=1..

Buffering ...