CATEGORY

· TIL
내일배움캠프 앱개발 iOS 트랙 본캠프 2주차 Today I Learned Class 추상화 swift에는 직접적인 추상 클래스 개념이 없지만 프로토콜 Protocol과 클래스 상속을 통해서 추상화를 구현할 수 있다! 자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있다. 즉!! 기본적인 행동을 정의하고 그 행동을 수행하는 것은 (코드 내부를 구현하는 것) 상속받을 하위 클래스에게 맡긴다. 추상화를 사용하는 이유 코드 간결 -> 코드가 복잡해지는 걸 방지하고 이해하기 쉬운 코드를 작성할 수 있다. 타입 안정 -> 런타임 오류 가능성을 줄여준다. 확장 -> 새로운 기능을 추가하기가 쉬워진다! 기존 클래스는 수정하지 않고, 새로운 클래스를 추가/확장하는 방식으로 만들 수 있다. Calculator.swif..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12940 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 내가 제출한 풀이 func gcdFunc(_ n:Int, _ m:Int) -> Int { if m == 0 { return n } else { return gcdFunc(m, n % m) } } func lcmFunc(_ n:Int, _ m:Int) -> Int { return (n*m) / gcdFunc(n,m) } func solution(_ n:Int, _ m:..
· TIL
내일배움캠프 앱개발 iOS 트랙 본캠프 2주차 Today I Learned 단일책임원칙 Single Responsibility Principle 하나의 객체는 반드시 하나의 책임을 가진다 클래스의 수정이유는 단 하나여야한다. 하나의 클래스는 하나의 책임을 가여쟈한다. 하나의 책임이 여러개의 클래스에 나뉘어 있어서도 안된다. protocol Animal { func makeSound() } class Dog: Animal { func makeSound() { print("멍멍") } } class Cat: Animal { func makeSound() { print("야옹") } } class Zoo { var animals: [Animal] = [] func makeAllSounds() { animals..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12969 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 풀이 import Foundation let n = readLine()!.components(separatedBy: [" "]).map { Int($0)! } let (a, b) = (n[0], n[1]) var value = String(repeating: "*", count: a) for i in 1...b { print(value) } 풀이 과정 - r..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12950 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 풀이 func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] { var result:[[Int]] = [] for i in 0 ..< arr1.count { result.append([]) for j in 0 ..< arr1[i].count { var value = arr1[i][j] + arr2[i][j] re..
· TIL
내일배움캠프 앱개발 iOS 트랙 본캠프 2주차 Today I Learned 오늘의 (개인적인) 업적 https://github.com/yenny42/nbc_camp/tree/main/Basic_Calculator 어제 헤매던 사칙연산을 구현했다. 기본적으로 0~9까지의 숫자를 입력할 수 있고 + - * / 네가지 연산이 가능하다. 점 . 을 사용해서 소수를 계산할 수도 있다. 기본적으로 아이폰의 기본 앱인 계산기를 많이 참고했다. 나름 iOS 강의를 듣는 중이니... 구현한 내용 @IBAction func didTapNumButton 숫자 버튼을 누를 때 마다 동작 입력하는 숫자를 curreuntDisplay에 담아서 label에 노출시킴 입력된 숫자를 numberValue[0] 에 Double로 형변환..
· TIL
내일배움캠프 앱개발 iOS 트랙 본캠프 2주차 Today I Learned # 오늘 한 것? 스토리보드로 계산기 틀을 만들었다. UIButton과 UILabel을 사용했다. 생긴 것은 나름 iOS 수업이니까.. 아이폰 계산기를 보고 비슷하게 해봤다. 아직 구현하기 힘들 것 같은 버튼은 제외시켰다. # UIButton의 sender란 무엇일까? 액션 핸들러를 담당하는 객체! 라고 공식 문서 에는 적혀 있는데.. 말을 참 어렵게 하는 것 같다. 그냥 버튼 그 자체라고 보면 될 것 같다. sender 하위에 currentTitle 이라는 속성이 있는데 이걸 이용하면 버튼의 글자를 받아올 수 있다. 하마터면 숫자버튼 10개랑 기능버튼 6개(혹은 그 이상)을 일일히 IBOutlet으로 연결해서 가져올 뻔 했다. ..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12918 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 풀이 import Foundation func solution(_ s:String) -> Bool { if s.count != 4, s.count != 6 { return false } else { return s.allSatisfy({ $0.isNumber }) } } 풀이 과정 문자열 길이가 4,6 && 오직 숫자로 구성되어 있는지 를 체크하는 문제이다 ..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/82612 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 풀이 import Foundation func solution(_ price:Int, _ money:Int, _ count:Int) -> Int64{ var usedMoney = 0 (1 ... count).map { usedMoney += price * $0 } if money - usedMoney > 0 { return 0 } else { return I..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12917 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 풀이 func solution(_ s:String) -> String { let result = String(s.sorted(by: >)) return result } 문제 풀이 정렬은 sorted로 하면 쉽게 가능하다 다만 배열 요소 타입이 character 일 경우 joined()을 할 수 없는데, 이럴때는 String으로 형변환 해주면 간단하게 합칠 수..
· TIL
내일배움캠프 앱개발 iOS 트랙 본캠프 2주차 Today I Learned 오늘은 깃허브로 좀 스트레스 받아서 일기형식 TIL. 깃헙에 알고리즘 풀이를 백업하기 위한 리포지토리를 만든 다음, 그걸 클론 받아서 사용하려니까 xcode에서 열리지를 않았다. 컴도 껐다 켜보고 깃 폴더도 삭제하고 다시 초기화 하고.. 적어도 오늘 세시간은 이걸로 진땀을 뺐다. 결국엔 깃헙 사이트에서 파일을 올린 뒤, 그 파일을 클론 받아서 사용하는 걸로 나 혼자 합의를 봤다. 팀플 하기 전에 해결을 봐야 한다... 오늘은 해결을 못 봤지만 근 시일 내로 반드시 찾아봐야 겠다 싶어서 검색했던 기록이라도 백업해둔다... Please make sure you have the correct access rights and the re..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/77884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 풀이 import Foundation func solution(_ left:Int, _ right:Int) -> Int { var value: Int = 0 for i in left ... right { var sqrtValue = sqrt(Double(i)).truncatingRemainder(dividingBy: 1.0) value += sqrtValue..
YEN_
'분류 전체보기' 카테고리의 글 목록 (7 Page)