본문 바로가기

프로그래머스 (Swift)

(165)
[lv1] 크기가 작은 부분 문자열 문제 내 정답 코드import Foundationfunc solution(_ t:String, _ p:String) -> Int { let count = p.count var result = 0 for i in 0...t.count-count { let subInt = Int(t[t.index(t.startIndex, offsetBy: i).. #1. 주어진 문자열을 p의 글자수 만큼 순회한다.2. i 인덱스부터 i+p.count의 글자를 정수로 변환하고 p의 정수타입과 비교하여 작거나 같으면 result에 +1 해준다.3. 문자열 인덱스를 사용하여 subString을 가져왔다.배운 기술
[lv1] 카드 뭉치 문제 내 정답 코드import Foundationfunc solution(_ cards1:[String], _ cards2:[String], _ goal:[String]) -> String { var cards1 = cards1 var cards2 = cards2 for word in goal { if cards1.first == word { cards1.removeFirst() continue } else if cards2.first == word { cards2.removeFirst() } else { return "No" } } retur..
[Day25-4] 이차원 배열 대각선 순회하기 문제 내 정답 코드import Foundationfunc solution(_ board:[[Int]], _ k:Int) -> Int { var result = 0 for i in 0.. #1. 2차원 배열을 순회하며 i+j 2. 계산이 끝난 result를 반환한다.배운 기술
[Day25-3] 정사각형으로 만들기 문제 내 정답 코드import Foundationfunc solution(_ arr:[[Int]]) -> [[Int]] { var arr = arr let length: Int = arr.count > arr[0].count ? arr.count : arr[0].count if arr.count == length { for i in 0.. #1. 1차원 배열의 길이와 2차원 배열의 길이를 가져와 더 큰 값을 length에 저장한다.2. 1차원 배열의 길이가 부족하면 0을 채우고3. 2차원 배열의 길이가 부족하면 0을 채운 배열을 채운다.배운 기술
[Day25-2] 특별한 이차원 배열 2 문제 내 정답 코드import Foundationfunc solution(_ arr:[[Int]]) -> Int { for i in 0.. #1. 2차원 배열을 순회하며 arr[i][j] != arr[j][i]인 값이 있다면 0을 반환한다.배운 기술
[Day25-1] 정수를 나선형으로 배치하기 문제 내 정답 코드import Foundationfunc solution(_ n:Int) -> [[Int]] { var result:[[Int]] = [] (0.. #1. 1라운드는 -> 방향, 2는 아래 방향, 3은 2. n을 받아 2차원 정사각형 배열을 만들고 모두 0으로 채운다.3. 라운드를 돌며 0이 아니면 값을 count를 늘려가며 채운다.4. 이 때, 0이 아닌 값을 value에 저장하여 열/행 인덱스를 기억하고5. 다음 라운드에서 위 인덱스부터 라운드를 진행한다.6. count가 모든 배열을 채우면 종료된다.배운 기술
[Day24-5] 특별한 이자원 배열 1 문제 내 정답 코드import Foundationfunc solution(_ n:Int) -> [[Int]] { var result:[[Int]] = [] for i in 0.. #1. 일단 배열의 모든 값을 n만큼 0으로 채운다.2. 그리고 순차적인 인덱스인 i인덱스 값을 1로 수정한다.배운 기술
[Day24-4] l로 만들기 문제 내 정답 코드import Foundationfunc solution(_ myString:String) -> String { var myString = myString.map { String($0) } for i in 0.. #1. 문자열을 문자열 배열로 만들고2. 각 문자열 값이 l보다 앞서는 문자라면 해당 값을 l로 바꿔 반환한다.배운 기술
[Day24-3] 조건에 맞게 수열 변환하기 3 문제 내 정답 코드import Foundationfunc solution(_ arr:[Int], _ k:Int) -> [Int] { var arr = arr if k.isMultiple(of: 2) { (0.. #1. arr 값을 반복문으로 가져오고2. 홀수 짝수의 조건을 나눠 해당 값에 맞는 계산을 반환한다.배운 기술
[Day24-2] 그림 확대 문제 내 정답 코드import Foundationfunc solution(_ picture:[String], _ k:Int) -> [String] { var result:[String] = [] for str in picture { var line: String = "" for ch in str { (0.. #1. 문자열 배열의 문자를 2번의 반복문으로 가져오고2. k만큼 해당 문자를 line에 추가하고3. k만큼 line을 result배열에 추가한다.배운 기술