목록Swift (208)
HIT해
https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 시간을 계산할때 : 을 기준으로 split을 해준뒤 시간에는 60을 곱해서 계산하는 방식을 사용했었는데 DateFormatter()를 사용해서 날짜를 계산하고 싶었다. 처음 풀이import Foundationfunc solution(_ plans:[[String]]) -> [String] { // 가장 최근에 멈춰둔 과제니까 stack // Swift는 사실 상관없음 let dateFormatter = DateFormatter..
import Foundationfunc solution(_ sequence:[Int], _ k:Int) -> [Int] { var left = 0 var right = 0 var sum = sequence[0] var minLength = sequence.count var result : [Int] = [] while right k sum -= sequence[left] left += 1 } } return result}https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 T..
https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제가 백준의 전깃줄과 흡사해서 이 또한 LIS 로 풀어야하는 문제인줄 알았다.https://www.acmicpc.net/problem/2565 원리는 비슷하지만 LIS와 DP 를 사용하지 않고 간단하게 해결 가능한 문제였다. 처음 내가 시도한 코드import Foundationfunc solution(_ targets:[[Int]]) -> Int { var connect = [(Int,Int)]() var dp = [Int](re..
딕셔너리 생성하기var dict = [String:Int]() 딕셔너리 갯수 확인하기dict.countdict.isEmpty 딕셔너리 요소 접근하기print(dict[key]) // Optional(value)print(dict[key,default : 100]) // value or 100 딕셔너리 요소 추가하기1. SubScriptdict[Key] = value2. updateValue(value, forKey: Key)dict.updateValue(100, forKey: Key)// 키가 없다면 추가 후 nil 리턴 딕셔너리 요소 삭제하기1. Subscriptdict[Key] = nil2. removeValue(forKey:)dict.removeValue(forKey: Key)3. removeAll..

https://school.programmers.co.kr/learn/courses/30/lessons/340211?language=swift 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 완전탐색 빡 구현 문제다. 코테랑 비슷한 수준의 구현을 요구해서 집중해서 풀어보았는데. 자료 구조를 얼마나 이해하고 있느냐가 중요했다. 처음에는 한 route의 이동경로를 각각의 배열에 담고 반복문을 통해서 비교를 하려 했지만. 고정된 크기의 route가 주어지는 것이 아니라 임의의 수를 가진 배열을 서로 비교해야한다 생각하니 앞길이 너무 막막했다. var timeStampPostion = [Int : [Strin..
https://school.programmers.co.kr/learn/courses/30/lessons/340212 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 간단한 이분탐색 구현 문제였다. 지난 코딩 테스트에서 optional로 출력되는 변수가 골치 아팠는데 이번에도 그러했다. 풀이import Foundationfunc solution(_ diffs:[Int], _ times:[Int], _ limit:Int64) -> Int { // level의 최솟값을 구하자. // level은 0부터 diffs의 최댓값까지로 한뒤 이분탐색을 적용하면 될듯 var end = diffs.max(..

https://school.programmers.co.kr/learn/courses/30/lessons/258711?language=swift 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 조건1 ≤ edges의 길이 ≤ 1,000,000edges의 원소는 [a,b] 형태이며, a번 정점에서 b번 정점으로 향하는 간선이 있다는 것을 나타냅니다.1 ≤ a, b ≤ 1,000,000문제의 조건에 맞는 그래프가 주어집니다.도넛 모양 그래프, 막대 모양 그래프, 8자 모양 그래프의 수의 합은 2이상입니다. 도넛 모양의 모든 노드는 1개의 incoming과 1개의 outgoing을 가진다.막대 모양은 마지막 ..

import Foundationvar flag = [Bool](repeating: false, count: 10001)var result : [Int] = []var nums : [Int] = []func main() { let NM = readLine()!.split(separator: " ").map { Int($0)! } let (N,M) = (NM[0], NM[1]) // N 총 숫자, M depth let XYZ = readLine()!.split(separator: " ").map { Int($0)! } nums = XYZ.sorted() backtracking(N: N, M: M, depth: 0)}func backtracking(N : Int, M ..