본문 바로가기

반응형

백준

(329)
[BOJ] 백준 17298 오큰수 (Swift) 문제 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 풀이 스택 자료구조를 사용해서 풀이할 수 있는 문제입니다. 스택에 수를 하나씩 넣어주고, 스택의 Top이 현재 수보다 작다면 현재 수가 오큰수가 될 것입니다. 예를들어 5, 2, 7 이란 수가 있고, 현재 스택에 5, 2 까지 들어오고 7을 살펴보고 있다면 7이 현재 스택의 Top인 2보다 크기 때문에 2의 오큰수는 7이되고 2를 pop 해줍니다. 7이 현재 스택의 Top인 5보다 크기 때문에 5의 오..
[BOJ] 백준 9935 문자열 폭발 (Swift) 문제 https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 풀이 스택 자료구조를 사용해서 풀이할 수 있는 문제입니다. 문자열을 하나씩 스택에 넣어줍시다. 스택의 마지막 문자열이 폭발 문자열의 마지막 문자열과 같을 때, 스택에 폭발 문자열이 있는지 확인해줍시다. 스택의 사이즈가 폭발 문자열의 길이보다 크거나 같은 경우에만 확인해주어야 합니다. (index error 방지) 검사해야 하는 인덱스의 범위는 스택의 크기 - 폭발 문자열 크기 ..
[BOJ] 백준 25551 멋쟁이 포닉스 (Swift) 문제 https://www.acmicpc.net/problem/25551 25551번: 멋쟁이 포닉스 모두가 알다시피, 포닉스는 포스텍의 대표적인 멋쟁이이다! 포닉스는 멋쟁이답게 흰색 또는 검은색의 마스크, 티셔츠, 바지만을 입는다. 포닉스는 매일 다음과 같은 규칙으로 착장을 고른다. 마 www.acmicpc.net 풀이 옷을 풀셋으로 입는 경우는 두가지 밖에 없습니다. 흰 마스크, 검정 티, 흰 바지 검정 마스크, 흰 티, 검정 바지 흰 마스크, 검정 티, 흰 바지 중 최소 개수를 찾으면 1번을 입는 경우이고, 검정 마스크, 흰 티, 검정 바지 중 최소 개수를 찾으면 2번을 입는 경우입니다. 두 경우를 합친다고 구할 수 없습니다. 이틀 연속으로 같은 색의 티셔츠를 입지 않는다는 규칙이 있기 때문입니다...
[BOJ] 백준 11286 절댓값 힙 (Swift) 문제 https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 최소 힙과 최대 힙 2개를 사용해서 풀이할 수 있는 문제입니다. x가 양수라면 최소 힙에 넣어주고, x가 음수라면 최대 힙에 넣어줍시다. 그렇다면 최소 힙과 최대 힙에 절대값이 작은 수가 루트 노드에 위치할 것입니다. pop을 해줄 때, 최소 힙과 최대 힙이 둘다 비어있다면, 0을 출력하고 최소 힙만 비어있다면 최대 힙에서 pop, 최대 힙만 비어있다면 최소 힙에서..
[BOJ] 백준 1927 최소 힙 (Swift) 문제 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 문제 그대로 최소 힙을 사용해 풀이할 수 있는 문제입니다. Swift에서는 힙 자료구조를 지원하지 않기 때문에 직접 구현해주어야 합니다. 참고용으로 힙을 구현한 포스팅을 올려놓았습니다. https://dev-mandos.tistory.com/244 [자료구조] Heap에 대해 알아보고 구현해보기 (Swift) Heap이란? Heap은 트리를 사용하고, 트리 중 에서도..
[BOJ] 백준 11279 최대 힙 (Swift) 문제 https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 문제 그대로 최대 힙을 사용해 풀이할 수 있는 문제입니다. Swift에서는 힙 자료구조를 지원하지 않기 때문에 직접 구현해주어야 합니다. 최대 힙을 구현하기만 하면 되는 문제.. 입니다. 참고용으로 힙을 구현한 포스팅을 올려놓았습니다. https://dev-mandos.tistory.com/244 [자료구조] Heap에 대해 알아보고 구현해보기 (Swift) He..
[BOJ] 백준 12015 가장 긴 증가하는 부분 수열 2 (Swift) 문제 https://www.acmicpc.net/problem/12015 12015번: 가장 긴 증가하는 부분 수열 2 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000) www.acmicpc.net 풀이 https://dev-mandos.tistory.com/217 [BOJ] 백준 11053 가장 긴 증가하는 부분 수열 (Swift) 문제 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30,..
[BOJ] 백준 2110 공유기 설치 (Swift) 문제 https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 풀이 C개의 공유기를 N개의 집에 적당히 설치해서, 가장 인접한 두 공유기 사이의 거리의 최대 값을 구해야 합니다. 이분 탐색을 떠올릴 수 있습니다. 이분 탐색을 하기위해 집의 좌표를 오름차순으로 정렬해줍시다. 거리에 주목을 하고, 1부터 집의 최대 거리 차이를 탐색하면서 공유기를 몇개 설치할 수 있는지 확인해봅시다. 공유기는 C개 만큼 설..

반응형