전체 글 209

10. 스파르타 코딩 클럽 - 3월 24일 코딩테스트 연습 (코드카타)

❓ 오늘의 문제1. 피자 나눠 먹기 (1)나의 정답 코드import Foundationfunc solution(_ n:Int) -> Int { guard n >= 1 && n 2. 피자 나눠 먹기 (3)머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해 보세요.나의 정답 코드import Foundationfunc solution(_ slice:Int, _ n:Int) -> Int { return (n+(slice-1)) / slice}✓ TIL오늘은 ..

9. 스파르타 코딩 클럽 - 3월 20일 코딩테스트 연습 (코드카타)

❓ 오늘의 문제1. n의 배수 고르기정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution함수를 완성해 주세요.나의 정답 코드import Foundationfunc solution(_ n:Int, _ numlist:[Int]) -> [Int] { var result: [Int] = [] for i in numlist { if i % n == 0 { result.append(i) } } return result} ✓ TIL오늘은 n의 배수 고르기라는 문제를 풀어보았다.맨 처음 문제를 읽었을 때 주어진 n의 배수를 고르는 문제라고 생각했고 mod..

20. 스파르타 코딩 클럽 - 야구 게임 만들기 Lv2 ~ Lv6

⚾️ 야구 게임 만들기 Lv2 ~ Lv6숫자 야구 게임은 두 명이 즐길 수 있는 추리 게임으로, 상대방이 설정한 3자리의 숫자를 맞히는 것이 목표입니다. 각 자리의 숫자와 위치가 모두 맞으면 '스트라이크', 숫자만 맞고 위치가 다르면 '볼'로 판정됩니다. 예를 들어, 상대방의 숫자가 123일 때 132를 추리하면 1 스트라이크 2 볼이 됩니다. 이러한 힌트를 활용하여 상대방의 숫자를 추리해 나가는 게임입니다. 📝 코드 구현[ Lv 2 ]정답을 맞히기 위해 3 자릿수를 입력하고 힌트를 받습니다힌트는 야구용어인 볼과 스트라이크 입니다같은 자리에 같은 숫자가 있는 경우 스트라이크, 다른 자리에 숫자가 있는 경우 볼입니다ex) 정답 : 456인 경우435를 입력한 경우 → 1 스트라이크 1 볼357을 입력한 ..

8. 스파르타 코딩 클럽 - 3월 20일 코딩테스트 연습 (코드카타)

❓ 오늘의 문제1. 양꼬치머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해 보세요.[ 방법 1 ]나의 정답 코드 1import Foundationfunc solution(_ n:Int, _ k:Int) -> Int { var result = 0 if n >= 10 { var mok = n / 10 result = (n * 12000) + (k * 2000) - (mok * 2000) } else { result =..

19. 스파르타 코딩 클럽 - 야구 게임 만들기 Lv1

⚾️ 야구 게임 만들기 Lv1숫자 야구 게임은 두 명이 즐길 수 있는 추리 게임으로, 상대방이 설정한 3자리의 숫자를 맞히는 것이 목표입니다. 각 자리의 숫자와 위치가 모두 맞으면 '스트라이크', 숫자만 맞고 위치가 다르면 '볼'로 판정됩니다. 예를 들어, 상대방의 숫자가 123일 때 132를 추리하면 1 스트라이크 2 볼이 됩니다. 이러한 힌트를 활용하여 상대방의 숫자를 추리해 나가는 게임입니다.🛠️ 개발 프로세스 가이드1. 개발 환경 세팅Xcode command line tool을 이용하여 진행해 보세요.프로젝트 생성 방법 : Xcode 상단탭 - File - New - Project - macOS의 Command Line Tool로 프로젝트 생성Xcode command line tool을 이용하여..

7. 스파르타 코딩 클럽 - 3월 19일 코딩테스트 연습 (코드카타)

❓ 오늘의 문제1. 머쓱이보다 키 큰 사람머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해 보세요.나의 정답 코드import Foundationfunc solution(_ array:[Int], _ height:Int) -> Int { var result = 0 for i in array { if i > height { result += 1 } } return result} 2. 점의 위치 구하기사분면은 한 평면을 x축과 y축을..

18. 스파르타 코딩 클럽 - 메모리 구조

📚 메모리 구조프로세스실행중인 프로그램의 인스턴스를 의미합니다.iOS에서는 실행되는 앱을 프로세스라고 이해하시면 됩니다.앱이 실행되면, 운영 체제는 앱의 실행을 관리하기 위해서 프로세스를 생성합니다.프로세스는 자신만의 메모리 영역을 할당받고, 앱의 실행상태를 관리합니다.메모리 구조앱을 실행하면 운영체제(iOS)가 메모리에 영역을 설정해 줍니다.메모리영역에는 크게 4가지 영역이 존재하며 Code, Data, Heap, Stack 영역이 존재합니다.Code 영역우리가 작성한 코드는 컴파일 과정을 거쳐 기계어 형태(컴퓨터가 읽을 수 있는 0과 1로 이루어진 형태)로 변환되어 이 영역에 저장됩니다.CPU는 이 영역에 저장된 코드를 읽고 해당 작업을 처리합니다.프로그램 실행과 동시에 메모리에 할당되며, 프로그램..

6. 스파르타 코딩 클럽 - 3월 18일 코딩테스트 연습 (코드카타)

❓ 오늘의 문제1. 세균 증식어떤 세균은 1시간에 두 배만큼 증식한다고 합니다. 처음 세균의 마릿수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return 하도록 solution 함수를 완성해 주세요.나의 답안 코드import Foundationfunc solution(_ n: Int, _ t: Int) -> Int { var result = n for _ in 1...t { result *= 2 } return result}  나의 답안 코드import Foundationfunc solution(_ n: Int, _ t: Int) -> Int { return n * (1  ✓ TIL오늘은 세균 증식이라는 문제를 풀어보았다.문제를 읽어보면 ..

17. 스파르타 코딩 클럽 - 프로토콜 (Protocol), 확장 (Extension)

📚 프로토콜 (Protocol)프로토콜 자체는 기능을 구현하지 않으며, 오직 설계만 제공합니다.class, struct, enum에서 프로토콜을 채택할 수 있으며, 프로토콜에서 정의한 프로퍼티와 메소드를 모두 구현해야 합니다.프로토콜을 채택하는 방법은 타입의 이름 뒤에 : 콜론을 넣은 후 프로토콜 이름을 작성하면 됩니다.프로토콜은 여러 개를 채택 할 수 있으며, 프로토콜 이름을 , 로 구분합니다.프로토콜에서 정의된 프로퍼티는 항상 var로 선언되어야 합니다.프로토콜에서 정의하는 프로퍼티는 읽기 전용 { get } 또는 읽기-쓰기 가능 { get set }으로 설정할 수 있습니다.{ get }으로만 설정해도 프로퍼티의 값을 변경할 수 있지만, 명시적으로 작성하면 코드의 의도를 쉽게 파악할 수 있습니다.프..

16. 스파르타 코딩 클럽 - 접근제어자

🎯 접근제어자📚 내가 가진 돈은 나만 알고 싶은데 다른 사람에게 알리고 싶지 않아요! 이럴 때 접근제어자를 사용하면 외부에서 접근을 못하도록 막을 수 있습니다. 접근제어자는 외부에서 코드에 대한 접근을 제한하는 기능을 제공합니다. 접근을 제어함으로써, 불필요한 정보의 노출을 막을 수 있습니다. class, enum, struct 등에서 사용 가능하며, 프로퍼티, 메소드 에 적용할 수 있습니다.  Swift에서 제공하는 접근제어자 종류1. open모든 외부 모듈에서 접근할 수 있는 접근제어자가장 개방적인 접근 수준유일하게 class에서만 사용 가능상속이 가능하고 재정의 가능하기 때문에!2. public모든 외부 모듈에서 접근할 수 있는 접근제어자가장 개방적인 접근 수준3. internal기본값 접근제어..