목록Swift (208)
HIT해

https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다.Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다.Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return ..
https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이전에 풀었던 문제지만 복습삼아 한번 더 풀어보았다. 인접 리스트 만드는 방법 var graph = [[Int]](repeating: [], count:n+1) for i in edge { graph[i[0]].append(i[1]) graph[i[1]].append(i[0]) } 큐 만드는 방법var queue = [Int]()var visited = [Bool](repeating:false, cou..
https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 빡구현 문제다. 이런 양의 구현요구를 하면 이게 정답으로 처리가 될까? 확신하지 않으면 불안할거같다.. import Foundationimport Foundationfunc solution(_ expression:String) -> Int64 { var oper = ["+","-","*"] var oop = [[String]]() // 조합의 경우의 수 func combi(_ targetArr : [Strin..
1. 순열이란?순열은 주어진 원소들로 만들 수 있는 모든 순서의 조합을 의미합니다. 가장 쉽게 설명하자면, n개의 원소 중에서 r개를 선택하여 순서를 고려해 나열하는 것입니다.예시를 통한 이해예를 들어, [1, 2, 3] 이라는 세 개의 숫자가 있다고 해볼까요?이 중에서 2개를 선택하여 나열하는 경우의 수는 다음과 같습니다.[1, 2][1, 3][2, 1][2, 3][3, 1][3, 2] 2. 순열의 종류2.1 일반 순열 (Permutation)각 원소를 한 번씩만 사용nPr = n!/(n-r)! 의 공식 사용예: [A, B, C] 중 2개 선택 → [A,B], [A,C], [B,A], [B,C], [C,A], [C,B]2.2 중복 순열 (Permutation with Repetition)각 원소를 여러..
중복없는 Target에서 원하는 만큼의 조합 구하기var oper = ["+","-","x"] var oop = [[String]]() // 조합의 경우의 수 func combi(_ targetArr : [String], _ arr:[String]) { if arr.count == 3 { oop.append(arr) return } for i in 0...2{ if !arr.contains(oper[i]){ combi(targetArr, arr + [targetArr[i]]) } } } combi(oper,[]) ta..

https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이전에 풀었던 dp 방식으로 해결하려했는데 시간초과 및 오답이 나왔다. 첫번째 풀이import Foundationfunc solution(_ N: Int, _ number: Int) -> Int { if N == number { return 1 } // 배열 크기를 적절한 값으로 제한 let maxSize = 32001 // 충분히 큰 적절한 값으로 설정 var dp = [Int](repeatin..
https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다.-1+1+1+1+1 = 3+1-1+1+1+1 = 3+1+1-1+1+1 = 3+1+1+1-1+1 = 3+1+1+1+1-1 = 3사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 ..
https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명마법의 세계에 사는 민수는 아주 높은 탑에 살고 있습니다. 탑이 너무 높아서 걸어 다니기 힘든 민수는 마법의 엘리베이터를 만들었습니다. 마법의 엘리베이터의 버튼은 특별합니다. 마법의 엘리베이터에는 -1, +1, -10, +10, -100, +100 등과 같이 절댓값이 10c (c ≥ 0 인 정수) 형태인 정수들이 적힌 버튼이 있습니다. 마법의 엘리베이터의 버튼을 누르면 현재 층 수에 버튼에 적혀 있는 값을 더한 층으로 이동하게 됩니다..