본문 바로가기

swift 알고리즘

(3)
[백준/Swift] 6550: 부분 문자열 | PS일지 문제 6550번: 부분 문자열 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문자열 s 와 t가 빈칸을 사이에 두고 들어온다. s와 t의 길이는 10만을 넘지 않는다. www.acmicpc.net 간단한 문제 요약 2개의 문자열 s t가 주어졌을 때 s가 t의 부분 문자열인지!! 이 문제에서의 부분 문자열이란 t의 문자열에서 몇 개의 문자들을 제거 한 후 합쳤을 때 s와 일치해야 하는 경우. 문제 풀이 | PS일지 s == needle t == text tIdx = 0, nIdx = 0 각각의 문자열을 배열로 만든 후에, 각각의 배열에 대해서 따로 따로 탐색할 포인터를 index로 두었습니다. 그리고 text[tIdx] == nIdx[nIdx] 일치하지 ..
[백준/Swift] 24445: 알고리즘 수업 - 너비 우선 탐색 2 문제 24445번: 알고리즘 수업 - 너비 우선 탐색 2 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양 www.acmicpc.net 간단한 문제 요약 시작 정점을 기준으로 주어진 정점을 탐색할 때 한 정점에서 갈 수 있는 여러개의 정점이 존재합니다. 이때 내림차순으로(큰 번호부터) 탐색을 이어나갑니다. 문제 풀이, 느낀점 var graph = Array(repeating: [Int](), count: n) _=(0..)} 또한 내림차순으로 탐색하기 위해서 문제에서 입력받은 노드의 크기를 내림차순으로 소팅해주면 됩니..
[백준/Swift] 7579: 앱. 문제 뿌수기!! | PS일지 문제 7579번: 앱 입력은 3줄로 이루어져 있다. 첫 줄에는 정수 N과 M이 공백문자로 구분되어 주어지며, 둘째 줄과 셋째 줄에는 각각 N개의 정수가 공백문자로 구분되어 주어진다. 둘째 줄의 N개의 정수는 현재 활 www.acmicpc.net 간단한 문제 요약 스마트폰에서 화면은 작다. 보이는 화면에서 '실행중'인 앱은 한 개 이지만, 더 많은 앱이 '활성화' 되어있다. 활성화 된 앱은 system resource memory를 사용한다. 한 번이라도 실행됬던 앱들을 종료하지 않는 이상, 이미 활성화 된 앱으로 분류된다. 새로운 앱을 실행시켜야 하는데 이미 활성화 된 앱은 각각의 메모리를 점유하고 있다. 활성화 상태의 앱을 비활성화 시키면 특정 앱이 소유하고 있던 메모리가 반환되어 사용할 수 있다. 하..