이번 주는 Swift 개발 경험을 쌓으며 팀 프로젝트(숫자 야구 게임)와 알고리즘 문제 해결을 진행했다. 또한 KPT 회고를 통해 팀원들과 문제점을 공유하고 해결 방안을 논의했다.
내일배움캠프 2주차 그리고 3주차에 대한 회고를 팀원들과 작성했다.
✅ 코드리뷰를 팀원 진도에 맞춰 유동적으로 진행
✅ 유용한 코드 발견 시 질문하고 공유하는 문화 유지
✅ 모르는 개념에 대해 서로 질문하며 학습
✅ 끝까지 포기하지 않고 도전하는 태도 유지 🚩
✅ 고양이 사진 공유 🐱
❌ GitHub 연동 문제 (PR, Merge 과정에서 충돌 발생)
❌ Swift 내장 함수 활용 미숙
❌ 파일 및 디렉토리 구조화 미흡
❌ AI 의존도가 높음
🔹 튜터님께 적극적으로 질문하여 해결
🔹 다양한 Swift 프로젝트 경험을 쌓으며 익숙해지기
🔹 강의 및 개인 학습을 통한 개념 보완
🔹 AI 사용 시 필요한 예시만 참고하여 의존도 줄이기
🔹 Xcode 자동 완성 기능을 끄고 직접 코드 작성 연습
guard
, struct
, 배열
활용 능력 향상이번 주에는 가까운 수 찾기 문제를 해결하며 Swift의 정렬과 절댓값 연산을 활용하는 방법을 학습했다.
정수 배열
array
와 정수n
이 주어질 때,array
에서n
과 가장 가까운 수를 찾는 함수 구현
var num = array.map { $0 - n } // 배열 요소에서 n을 뺀 값 저장
for index in 0..<num.count {
if num[index] < 0 {
num[index] *= -1 // 음수를 양수로 변환
}
}
👉 문제점: 원래 숫자와의 매칭이 어려워짐
func solution(_ array: [Int], _ n: Int) -> Int {
return array.min { abs($0 - n) < abs($1 - n) }!
}
👉 min(by:)
를 활용하여 가장 가까운 값 찾기
👉 절댓값(abs
)을 사용하여 거리 계산
sorted(by:)
, min(by:)
등의 고차 함수 활용법 abs()
를 활용한 거리 계산 최적화
배울점 많은 우리 팀장님 2주동안 수고하셨습니다 !~! 다음 과제도 파이팅 합시다 :)