TIL 20일 차 - Swift로 야구 게임 만들기 피드백 최종 리팩토링드디어 피드백이 나왔다... 대학에서도 이렇게 하루 종일 집중해서 열심히 과제한 적이 없는 거 같은데...ㅎㅎai 없이 끙끙거리면서 맨몸으로 부딪히니 더 기억에 남고 뿌듯함도 느껴지는 것 같다. 1. start() 메서드 내에 playGame() 메서드가 중첩되어 있다!이 부분 읽자마자 냅다 비명부터 지름형이 왜 거기서 나와..?? 싶어서 바로 후다닥 꺼내주었다......튜터님은 이걸 어떻게 발견하신 거지.. 나는 몇 날며칠을 봐도 못 찾았는데.. 2. splitNum 메서드를 Character의 wholeNumberValue 속성을 활용해 숫자로 변환하기내가 제출했던 기존의 코드는 입력받은 Int값을 String으로 변환한 뒤 C..
TIL 20일 차 - 프로그래머스 Swift 의상 갈아입기 알고리즘 문제 풀이프로그래머스 해시 [의상 갈아입기 문제] 링크 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이 문제는 딕셔너리를 이용해 옷의 종류를 key, 각 의상의 이름들은 value로 매핑하고 각 key에 매핑된 value의 개수를 구하면 쉽게 풀리는 문제이다. 1. 먼저 solution 함수에 key는 String, value는 Int인 빈 딕셔너리 dictionary변수를 선언해 주자func solution(_ clothes:[[String]]) -> Int { var dictionary: [String: Int] = [:]} 2. 함수..
TIL 19일 차 - 고차함수 Map, compactMap, flatMap 활용하기1. 모든 원소에 동일한 연산 적용하기// 모든 숫자 2배로 만들기 let nums = [1, 2, 3, 4]let doubled = nums.map { $0 * 2 } // 각 원소에 같은 연산을 적용// [2, 4, 6, 8] 출력 2. 타입 변환 (ex. Int -> String)let nums = [1, 2, 3]let Strings = num.map { String($0) }// ["1", "2", "3"] 출력 3. 문자열 배열 가공 (전부 대문자로 바꾸기)let names = ["iOS", "Swift", "Apple"]let upper = names.map { $0.uppercased() }// ["IOS..
TIL 18일 차 - Swift로 야구 게임 만들기- Trouble shooting ⚾️ 야구게임 과제 깃허브 링크 🔗 1. 사용자 입력받기 (게임 선택)(1) guard let으로 readLine() 받기// 맨 처음 작성한 사용자 입력 로직 (수정 전)while true { // 번호 선택 로직 반복 // 게임 선택 번호 출력문 guard let inputNum = readLine(), // 정상적으로 값이 입력 되었는지, nil이면 바로 else로 let inputNumber = Int(inputNum) // 문자열을 숫자로 변환가능 여부, 숫자가 아니면 nil -> else로 // 입력값 검사 함수 호출해서 참이면 true값 return} else { contin..
TIL 17일 차 - Swift에서 문자열 뒤집기 1. 가장 기본적인 방법 (한 줄 풀이)let str = "HelloSwift"let reversedStr = String(str.reversed())print(reversedStr)reversed()로 뒤집은 뒤에 String()으로 다시 감싸는 이유는 reversed()로 뒤집으면 ReversedCollection 형태로 반환되기 때문에 String()으로 감싸줘야 한다. 2. 함수로 만들기 (코딩테스트용)func reverseString(_ s: String) -> String { return String(s.reversed())} // 1번과 같은 이유로 String()으로 감싼 후 return 3. reduce로 뒤집기let str = ..