본문 바로가기

전체 글

(33)
코딩테스트 입문 (feat. Day 9 수학, 문자열, 해시, 완전탐색, 조건문) 1.  개미 군단Q. 개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요.func solution(_ hp:Int) -> Int { return hp / 5 + hp % 5 / 3 + hp % 5 %..
코딩테스트 입문 (feat. Day 8 배열, 구현, 수학) 1. 배열 자르기Q. 정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요.func solution(_ numbers:[Int], _ num1:Int, _ num2:Int) -> [Int] {    return (num1...num2).map{numbers[$0]}}A. 전달 받은 num1부터 num2까지 고차함수 map을 활용해 순회하면서 조건에 맞는 배열을 반환하여 해결했다.4. 순서쌍의 개수Q. 순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자..
코딩 테스트 입문 (feat. Day 7 문자열, 조건문, 수학, 반복문) 1.  특정 문자 제거하기Q. 문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.func solution(_ my_string:String, _ letter:String) -> String { return my_string.replacingOccurrences(of: letter, with: "")} A. 전달 받은 my_string에서 replacingOccurrences(of:with:)를 활용하여 전달 받은 letter를 제거한 문자열을 반환하여 해결했다. feat.func solution(_ my_string:String, _ letter:String) -> Strin..
코딩 테스트 입문 (feat. Day 6 문자열, 반복문, 출력, 배열, 조건문) 1.  문자열 뒤집기Q. 문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.func solution(_ my_string:String) -> String { var result = "" my_string.reversed().map { result.append($0) } return result} A. 전달 받은 문자열을 reversed()로 뒤집은 후 고차함수 map으로 순회하며 result 문자열에 각 원소를 추가한 result를 반환하여 해결했다.2. 직각삼각형 출력하기Q. "*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정..
코딩 테스트 입문 (feat. Day 5 수학, 배열) 1.  옷가게 할인 받기Q. 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다. 구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.func solution(_ price:Int) -> Int { var sale: Double = 1 if price >= 500000 { sale = 0.8 } else if price >= 300000 { sale = 0.9 } else if price >= 100000 { sale = 0.95 } return Int(Double(price) * sale)} A. 조건..
코딩 테스트 입문 (feat. Day 4 수학, 배열) 1. 피자 나눠 먹기(1)  Q. 머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.func solution(_ n:Int) -> Int { return n % 7 == 0 ? n / 7 : n / 7 + 1} A. 사람 수를 7로 나눴을 때 나머지가 0인지 아닌지를 판단하여0인 경우, 몫을 결과로 반환하고 0이 아닌 경우, 몫에 1을 더한 값을 반환하여 해결했다.2. 피자 나눠 먹기(2) Q. 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 ..
코딩 테스트 입문 (feat. Day 3 사칙연산, 배열, 수학) 1.  나머지 구하기Q. 정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요.func solution(_ num1:Int, _ num2:Int) -> Int { return num1 % num2}  A. % 연산자를 통해 num1를 num2로 나눈 나머지를 구하여 해결했다.2. 중앙값 구하기Q. 중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요. (array의 길이는 홀수입니다.)func solu..
코딩 테스트 입문 (feat. Day 2 사칙연산, 조건문, 배열) 1. 두 수의 나눗셈Q. 정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요.func solution(_ num1:Int, _ num2:Int) -> Int { let floatNum1 = Float(num1) let floatNum2 = Float(num2) var result = floatNum1 / floatNum2 * 1000 return Int(result)} A. 입력 받은 Int 값을 Float으로 형변환 후, / 연산자를 통해 몫을 구하고 그 값에 1,000을 구하고정수 부분만 return 하기 위해 Int로 다시 형변환 한 값을 return으로 반환..