분류 전체보기
[SWIFT] 피자 나눠 먹기(3)
문제 설명 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 제한사항 2 ≤ slice ≤ 10 1 ≤ n ≤ 100 입출력 예 slice n result 7 10 2 4 12 3 코드 import Foundation func solution(_ slice: Int, _ n: Int) -> Int{ var tmp = slice while(tmp / n < 1){ tmp += slice } return tmp / slice } 풀이 slice조각을 n명이..
[SWIFT] 피자 나눠먹기(2)
문제 설명 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요 제한사항 1 ≤ n ≤ 100 입출력 예 result 6 1 10 5 4 2 코드 import Foundation func solution(_ n: Int) -> Int{ var result = 6 while(result % 6 != 0){ result += 6 } return result/6 } 풀이 6명이서 나눠먹는데, 남기지않고 모두 똑같이 먹으려면 나머지가 0이어야 한다. 나머지가 0이 될때까지 한 판(6조각)씩 추가..
[SWIFT] 피자 나눠 먹기(1)
문제 설명 머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요. 제한사항 1 ≤ n ≤ 100 입출력 예 result 7 1 1 1 15 3 코드 import Foundation func solution(_ n:Int) -> Int{ return (n - 1) / 7 + 1 } 풀이 n(인원) 필요한 판 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 2 9 2 규칙 6/7 = 0.8571... 7/7 = 1 8/7 = 1.1432312..... 7로 나누었을 때 딱 떨어지는 경우 이외엔 + 1을 해주면 되지만 나누어 떨어질경우 오답이..
[SWIFT] 고차함수 Reduce(결합)
reduce는 데이터를 합쳐주기위해 사용한다. 기존 컨테이너에서 내부의 값들을 결합하여 새로운 값을 만든다. reduce를 한번에 이해하기엔 숫자 합 예제가 최고라고 한다. for - in let numberArray = [1,2,3,4,5,6,7,8,9,10] var sum = 0 for i in numberArray{ sum += i } print(sum) //55 reduce let numberArray = [1,2,3,4,5,6,7,8,9,10] var sum = sumberArray.reduce(0){$0 + $1} print(sum) //55
[SWIFT] 고차함수 Filter(추출)
filter는 데이터를 추출하고자 할 때 사용한다. 기존 컨테이너에서 내부의 값을 걸러 새로운 데이터를 만든다. filter또한 map과 마찬가지로 for-in문과 크게 다르지 않다. filter의 형태 array.filter(isIncluded: T throws -> T) T타입의 isIncluded를 받아 새로운 T형태의 컨테이너를 생성한다. for - in let stringArray = ["크롬", "직업", "아마존", "데이터", "구글", "아이폰"] var threeCountArray: [String] = [] for st in stringArray{ if(st.count) == 3{ threeCountArray.append(st) } } print(threeCountArray) //["아..
[SWIFT] 약수의 합
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. import Foundation func solution(_ n: Int) -> Int{ if n == 0 { return 0} var tmp: Int = (1...n).filter( n % $0 == 0}.reduce(0, +) return tmp } 0 일경우 분기 처리
[SWIFT] 짝수는 싫어요
정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요. func solution(_ n:Int) -> [Int] { var tmp: [Int]{ var temp: [Int] = [] for i in 0...n{ if(i % 2 == 1){ temp.append(i) } } return temp } return tmp } 조금 더 많이 숏코딩.. func solution(_ n: Int) -> [Int] { (1...n).filter{$0 % 2 == 1}}
[Swift] 최빈값 구하기
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. import Foundation func solution(_ array:[Int]) -> Int { var tmp: [Int] = [] //array의 최대 수 만큼의 배열을 만든다 for _ in 0...array.max()!{ tmp.append(0) } //array에 담긴 수 인 tmp의 위치에 증가 //i가 20이면 tmp[20]이 1증가 for i in array{ tmp[i] += 1 } //tmp의 최대수를 가져옴 let tmpmax = tmp.max() var cnt ..
[SWIFT] 중앙값 구하기(sort, 중앙값)
문제 중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요. 제한사항 array의 길이는 홀수입니다. 0
[SWIFT] 나머지 구하기
정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요. func solution(num1 int, num2 int) int { return num1 % num2 }