코딩테스트/프로그래머스
[SWIFT] 올바른 괄호
문제 설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 제한사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. 입출력 예 s answer "()()" true "(())()" true ")()(" false "(()(" false 코드 impo..
[SWIFT] 배열의 평균값
문제 설명 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ numbers의 원소 ≤ 1,000 1 ≤ numbers의 길이 ≤ 100 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다. 입출력 예 numbers result [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 5.5 [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99] 94.0 코드 import Foundation func solution(_ numbers: [Int]) -> Double{(Double)(numbers.reduce(0, +) / (Double)(numbers.count)} ..
[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] 약수의 합
정수 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 }