0. 회고 및 개선점 📝
- 느낀 점: 오늘 학습 내용에서 얻은 교훈
- 잘한 점 : 아침 스터디! 주 3회 7시 50분부터 한시간동안 한다
- 개선 점 : 어려움을 느껴서 개선하고 싶은 것
- 앞으로 : 구체적인 시도할 내용
- 예: "클로저 캡처 리스트에 대해 더 연구 필요"
1. 오늘 배운 내용 📘 (데일리 루틴)
swift 강의
강의명 :
- 키워드: 배운 내용과 관련된 핵심 키워드
- 개요: 학습한 내용을 간결하게 정리 (기능 설명, 개념 설명 등)
- 예: Swift의 클로저 사용법, UIKit의 생명주기
1일 1커밋
📜 문제 설명
문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.
⌨️ 입출력 예
"1 2 3 4" "1 4"
✏️ 나의 코드
func solution(_ s:String) -> String {
var arr = s.split(separator: " ")
var max = String(arr.max()!)❌String은 숫자의 크기가 아니라 사전의 순서대로 비교하기 때문에 부적절
var min = String(arr.min()!)
if Int(max)! < 0 || Int(min)! < 0 { ❌이런 불필요한 과정이 생기고 이마저도 모든 케이스에 대응 안됨,,!
var result = max + " " + min
return result
}else{
var result = min + " " + max
return result
}
}
어려웠던 점
: 문자열을 합치는 법 - 그냥 " "안에 문자열 보간법 \( )으로 넣으면 됨
타입 변환시 옵셔널을 처리해야함
숫자 비교는 Int로,,,
아직 클로저 사용이 익숙치 않아서 자꾸 비효율적이고 복잡한 코드로 풀게됨
앞으로 개선할 점
: 타입 변환 방법 확실히 정리하기
클로저 사용법 연습
📚 개선 코드
func solution(_ s: String) -> String {
let arr = s.split(separator: " ").map { Int($0)! }
let min = arr.min()!
let max = arr.max()!
return "\(min) \(max)"
}
세상 쉬움..
split으로 공백 제거 문자열 만들고 map으로 int로!
cs 공부
질문 :
답변 :
💬
일주일간 이사하느라 공부를 많이 못했다!
이제 집 정리가 어느정도 되었으니 다시 열공~
'iOS' 카테고리의 다른 글
iOS 개발 전에 정리하는 코드 스타일 가이드 📌 | 효율적인 협업과 유지보수를 위해... (0) | 2025.03.24 |
---|---|
Git에서 .DS_Store와 .xcodeproj 파일 무시하기 (4) | 2024.11.07 |
[복습] Part 14. 확장 (0) | 2024.09.14 |
[복습] Part 13 타입 캐스팅 | is, as 연산자, 상속, 다형성, Any, AnyObject (0) | 2024.09.11 |
Swift 입력 받기 (0) | 2024.09.08 |