SWIFT 316

[프로그래머스] 여행경로 (Swift)

https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import Foundation func solution(_ tickets:[[String]]) -> [String] { var tickets = tickets.sorted{$0[1] < $1[1]} var visited = Array(repeating: false, count: tickets.count) var path = [String]() func dfs(city: String){ //마지막..

[프로그래머스] 네트워크 (Swift)

https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr comupters는 나를 포함하여 연결된 컴퓨터정보임 나를 제외한 연결된 노드들을 담는 nodeDic을 생성 nodeDIc 구조는 [A:[A와 연결된 노드들]] 시작점을 바꿔가며 DFS를 이용하여 값이 다른(연결되지 않은) 부분들을 찾으려고 함 DFS 깊이 우선 탐색(DFS) Depth-First Search 탐색하려는 노드의 자식 노드부터 우선 탐색하는 방식 한개의 큐와 한개의 스택으로 구현 방..

[프로그래머스] 모음사전 (Swift)

https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import Foundation func solution(_ word:String) -> Int { var aeiou = ["A", "E", "I", "O", "U"] var dicArray = [String]() var words = "" func dfs(){ if words.count == 6{ return } dicArray.append(words) for i in 0..

DFS

깊이 우선 탐색(DFS) Depth-First Search 탐색하려는 노드의 자식 노드부터 우선 탐색하는 방식 한개의 큐와 한개의 스택으로 구현 방문해야하는 노드 저장 스택(LIFO) 이미 방문한 노드를 저장하는 큐 (FIFO) 1. 탐색 노드 큐에 스택에 담기 2. 스택에 마지막 값을 추출해 큐에 존재하는지 확인 3. 큐에 존재하면 존재하지 않는게 나올때까지 확인 후 큐에 추가 4. 큐에 추가된 값의 연결된 간선들 모두 스택에 추가 * 스택이 빌때까지 2번부터 반복 func DFS(graph: [String: [String]], start: String) -> [String] { var queue: [String] = [] var stack: [String] = [start] while !stack.i..

CS 2023.12.13

[프로그래머스] 숫자 변환하기 (Swift)

https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr result: 최소 연산수 temporary: 연산후 y보다 작거나 같은 수가 들어갈 Set자료형 repository : 초기값은 x -> 이후에는 temporary의 값을 받을 Set자료형 import Foundation func solution(_ x:Int, _ y:Int, _ n:Int) -> Int { var repository = Set([x]) var result = 0 while ..

[프로그래머스] 베스트앨범 (Swift)

https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dic - 장르 : 총합재생수 dic2 - 장르 : [고유번호(인덱스)] dic3 - 인덱스 : 재생수 1. dic의 value값을 비교하여 속한 노래가 많이 재생된 장르를 정렬한 배열을 생성 (sortOne) 2. sortOne의 값은 많이 재생된 장르의 순이므로 차례로 장르내에서 많이 재생된 노래를 판단해야함 d - 고유번호(인덱스) : 한 노래의 재생수 d의 value 값(재생 수)을 이용해..

[프로그래머스] 기사단원의 무기 (Swift)

https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr try) 1. 1부터 number를 돌면서 약수를 구하려했다. 2-1)약수를 구할때 1부터 number까지의 수를 돌면서 나누어 떨어지면 약수이니 count를 늘리는 방식으로 했다. -> 불필요한 반복을 진행해 실행 초과가 났다. 2-2)약수는 보통 쌍을 이루니 number의 중간 수까지 나누어 떨어지는 수를 구한다음 쌍에 맞게 추가하는 방식으로 했다. -> number가 10일 경우 10 / ..

[프로그래머스] 대충 만든 자판 (Swift)

https://school.programmers.co.kr/learn/courses/30/lessons/160586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import Foundation func solution(_ keymap:[String], _ targets:[String]) -> [Int] { var dic: [String:Int] = [:] var result = [Int]() // dic- key:알파벳, value: index 저장 for k in keymap{ var index = 1 for word in k{ if dic[Strin..

[프로그래머스] 연속된 부분 수열의 합 (Swift)

https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나만의 풀이 방법) - 왼쪽 인덱스 left 와 오른쪽 인덱스 right 지점을 정한다. - left부터 right 구간에 속한 값들을 모두 더한 것이 sum이다. - 만약 sum이 k보다 작다면 right 값을 1증가시키고 sequence[right] 를 sum에 더해준다. 이유: 구간의 합이 k보다 적기 때문에 다음 인덱스값을 더함 *이때 right값이 sequence배열의 갯수 보다 크면 ..

[iOS] CompletionHandler (비동기처리)

직역 The completion handler to execute after the activity view controller is dismissed. 액태비티 뷰 컨트롤러가 해제된 후 실행할 완료 핸들러 - 비동기(작업이 순차적으로 실행되지 않고 별도의 스레드나 큐에서 실행되는) 작업이 완료되었을때 실행되는 클로저 - 대표적으로 네트워크 요청의 응답 처리, 파일 다운로드 및 데이터 처리 등이 있다. - 이 프로퍼티는 UIActivityViewControllerCompletionHandler 타입의 클로저를 저장한다. - 클로저는 nullable로 설정되어 있어 값을 가질 수도있고, nil일 수도 있다. - nonatomic: 멀티 스레드 환경에서 해당 프로퍼티에 동시에 접근하지 않는다. - copy:..

iOS랑 친해지기 2023.08.31