🔴 문제 문제 (링크) 문제 설명 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ left ≤ right ≤ 1,000 입출력 예 입출력 예 설명 🔵 풀이 - filter, count 1. 기본값이 0인 result 변수를 만들고, 2. left...right의 약수의 개수를 하나씩 구하여 3. 개수가 짝수이면 result에 더하고, 홀수이면 result에서 빼는 방식으로 구현했다. func solution(_ left:Int, _ right:Int) -> Int { var result: Int = 0 fo..
1️⃣ To do list 2️⃣ 배운 것 1. 코드카타(알고리즘) 2024.03.05 - [Swift/Code Kata (알고리즘)] - [Swift|코드카타] (프로그래머스) 입문 #32. 내적 - 시퀀스 쌍 만드는 zip(_:_:), map, reduce [Swift|코드카타] (프로그래머스) 입문 #32. 내적 - 시퀀스 쌍 만드는 zip(_:_:), map, reduce 🔴 문제 프로그래머스 링크: https://school.programmers.co.kr/learn/courses/30/lessons/70128 문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 yurim-dev.tistory.com 2. 강..
🔴 문제 프로그래머스 링크: https://school.programmers.co.kr/learn/courses/30/lessons/70128 문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 제한사항 a, b의 길이는 1 이상 1,000 이하입니다.a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 입출력 예 a b result [1,2,3,4] [-3,-1,0,2] 3 [-1,0,1] [1,0,-1] -2 🔵 풀이 - zip(_:_:), map(_:),..
1️⃣ To do list 2️⃣ 배운 것 1. 화면 전환 (segue) 여러 개의 화면을 이동하는 방법으로, Show, Show Detail, Present Modally 등이 있다. Navigation Controller를 추가하지 않으면 '모달'로 화면이 전환된다. 아래 사진처럼 상위 레이어가 뜨는 방식을 모달이라고 한다. 한편, Navigation Controller를 추가하면 자동으로 뒤로가기 버튼이 생긴다. 모달 뒤로가기 버튼 Navigation Controller는 아래 사진처럼 📥 아이콘 > Embeded In View Controller > Navigation Controller 를 클릭하면 추가할 수 있다. 2. String(repeating:count:) 오늘 만난 코드카타를 풀며 S..
🔴 문제 문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s return "abcde" "c" "qwer" "we" 🔵 풀이 1 - string.index 활용 s의 길이가 짝수인 경우와 홀수인 경우로 나누어, 각각 string.index를 활용하여 코드를 짰다. func solution(_ s: String) -> String { let len = s.count if len % 2 == 0 { let startIndex = s.index(s.startIndex, offsetBy: len / 2 - 1) let endIndex = s.inde..
🔴 문제 🔵 풀이 1 - String(repeating:count:), 연산자 오버로딩 문제를 보자마자 String(repeating:count:) 을 이용해 풀어야겠다고 생각했다. '+' 연산자 오버로딩을 활용했고, 문제 없이 실행되었다. func solution(_ n:Int) -> String { return String(repeating: "수박" , count: n/2 ) + String(repeating:"수", count: n % 2) } 다른 사람의 풀이도 내 풀이와 대체로 유사했다. 🔵 풀이 2 - 삼항연산자 활용 func solution(_ n:Int) -> String { return "\(String(repeating: "수박", count: n / 2))\(n % 2 == 0 ? ..