본문 바로가기

프로그래머스 (Swift)/기초

(123)
[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배열에 추가한다.배운 기술
[Day24-1] 커피 심부름 문제 내 정답 코드import Foundationfunc solution(_ order:[String]) -> Int { var result = 0 for order in order { switch order { case "iceamericano", "americanoice", "americano", "anything": result += 4500 case "hotamericano", "americanohot": result += 4500 case "icecafelatte", "cafelatteice", "cafelatte": result += 5000 case "h..
[Day23-5] 날짜 비교하기 문제 내 정답 코드import Foundationfunc solution(_ date1:[Int], _ date2:[Int]) -> Int { let (year1, month1, day1) = (date1[0], date1[1], date1[2]) let (year2, month2, day2) = (date2[0], date2[1], date2[2]) if year1 year2 { return 0 } else { if month1 month2 { return 0 } else { if day1  #1. date1, date2에 따라 year, month, day를 상수 선언하였다.2. year ..