전체 글 391

[iOS] BLE / CoreBluetooth 정리 (Swift)

BLE란??- Bluetooth Low Energy- 전력 소비를 보완하는 저전력 블루투스- 통신 속도보다는 전력 소모를 줄이는 것에 초점을 맞춤- Bluetooth4.0에 특화된 기술임  BLE를 이용한 디바이스 종류 1. Bluetooth Smart (BLE, 단일 모드)- 단일 모드, 듀얼 모드 디바이스들과 통신 가능- BR/EDR만 지원하는 디바이스는 불가- 심박수 모니터  등* BR/EDR(기존 블루투스) - 블루투스 1.0부터의 무선 표준 규격   2. Bluetooth Smart Ready(BR/EDR/BLE, 듀얼 모드)- BR/EDR만 지원하는 디바이스도 통신 가능- 블루투스와 단일모드 디바이스들로부터 데이터를 받아 유용한 정보로 변환 - 스마트폰, PC, TV 등 BLE 방향에 따른 ..

iOS랑 친해지기 2023.12.28

[프로그래머스] 여행경로 (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/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DFS 깊이 우선 탐색(DFS) Depth-First Search 탐색하려는 노드의 자식 노드부터 우선 탐색하는 방식 한개의 큐와 한개의 스택으로 구현 방문해야하는 노드 저장 스택(LIFO) 이미 방문한 노드를 저장하는 큐 ( 01pkd95.tistory.com 1. wires의 요소를 하나씩 제거한 뒤, 연결되어 있는 노드들을 파악 2. DFS 를 이용해 1부터 n숫자중 아무거나 대입 하였을 시..

[프로그래머스] 네트워크 (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/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이) 1. 모든 트럭은 순차적으로 지나간다. 2. 모든 트럭은 1초에 1씩 갈수 있음 -> 이것 때문에 글을 여러번 읽음... ;; - 다리의 길이(bridge_length)가 20m, A트럭의 길이가 1m라고 가정하면 A트럭은 1초에 선미가 1m, 후미가 0m에 위치해 있다. 2초에는 선미가 2m, 후미가 1m에 있다. 20초면 선미가 20m, 후미가 19m쯤에 있어 완전히 통과하는 것은 ..

[프로그래머스] 베스트앨범 (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/12977 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr try) 1. 순차적으로 완전 탐색하기 위해 첫번째, 두번째, 세번째 자리수 지정 ex) nums = [1,2,3,4] 첫번째 1 두번째 2 세번째 3 첫번째 1 두번째 2 세번째 4 첫번째 2 두번째 3 세번째 4 2. 3개의 수를 합해 sqrt 제곱근 메서드를 이용해 제곱근 까지의 약수의 개수가 몇개인지 파악 3. 약수의 개수가 1이면 1과 자기 자신이므로 소수임 import Foundatio..