0.
하이염
요즘에 앨런 swift 부트캠프를 들으면서
기존에 있던 데일리 루틴은 우선순위에 밀려 수행하지 못하고 있었어요
그래서! 부트캠프 내용 따라가면서 수행 가능한 루틴으로 바꾸기!
- cs 질문 답변하기
-> 가장 쉬우면서도 어려운 ㅎ 아직 하루에 몇개가 가능할지,,모르겠다
우선 해보면서 감 잡기!
- 1일 1커밋
-> 프로그래머스로 잔디 심을 예정
문법 강의 듣고 프로그래머스로 문제 푸니까
잔디도 심고 문법 복습도 하고 나름 코테 연습도 하고..?
1석 3조
- swift 강의 듣기
-> 하루에 3시간 분량(2배속, 1시간 반)을 들을까 생각 중인데
이론 강의 끝나고 실습으로 넘어와서 이 부분도 일단 해보기!
순공 시간 1시간 반 이렇게 설정할까 싶기도 함
- 컴구+운체 강의 1개
-> 이거는 swift 공부 하면서 병행하면 좋을 거 같아 일단 넣어놓음!
1. 데일리 루틴 ✅ ❌
✅ cs 질문 답변하기
질문 : 메모리 관리 기법 중 iOS에서 사용되는 방식과 그 특징에 대해 설명해주세요.
답변 :
iOS에서 사용되는 주요 메모리 관리 기법은 자동 참조 카운팅(ARC, Automatic Reference Counting)입니다.
ARC의 특징과 작동 방식은 다음과 같습니다:
- 자동 참조 카운팅(ARC):
- 객체의 생명 주기를 관리하여 메모리 누수를 방지합니다.
- 컴파일 타임에 코드에 삽입되어 런타임 성능에 영향을 주지 않습니다.
- 참조 카운트:
- 객체에 대한 참조 횟수를 자동으로 증가시키거나 감소시킵니다.
- 참조 횟수가 0이 되면 객체를 메모리에서 해제합니다.
- 참조 유형:
- 강한 참조(Strong Reference): 기본 참조 방식으로, 참조 카운트를 증가시킵니다.
- 약한 참조(Weak Reference): 참조 카운트를 증가시키지 않으며, 참조 대상이 해제되면 nil로 설정됩니다.
- 비소유 참조(Unowned Reference): 참조 카운트를 증가시키지 않으며, 참조 대상이 해제되더라도 nil로 설정되지 않습니다. 참조 대상이 항상 존재한다고 가정할 때 사용합니다.
- 참조 순환 방지:
- 약한 참조와 비소유 참조를 사용하여 참조 순환(Reference Cycle)을 방지합니다.
- 참조 순환은 두 객체가 서로를 강하게 참조하여 해제되지 않는 상황을 말합니다.
- 메모리 관리 간소화:
- ARC를 통해 개발자는 메모리 관리에 신경 쓰지 않고 코드 작성에 집중할 수 있습니다. 메모리 관리는 ARC가 자동으로 처리합니다.
이 내용 이해하는데 아주 도움이 되었던 블로그 첨부합니다
https://babbab2.tistory.com/26
✅ 1일 1커밋
📜 문제 설명
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.
⌨️ 입출력 예
✏️ 나의 코드
... 아직 딕셔너리 헷갈려서 못풀어서
노션에 나중에 복습 기록하고 ai의 도움으로,,,
📚 개선 코드
func solution(_ array: [Int]) -> Int {
var countDict = [Int: Int]()
// 각 숫자의 출현 횟수를 세기
for num in array {
countDict[num, default: 0] += 1
}
// 최대 출현 횟수 찾기
let maxCount = countDict.values.max() ?? 0
// 최대 출현 횟수를 가진 숫자들 찾기
let mostFrequent = countDict.filter { $0.value == maxCount }.keys
// 최빈값이 하나면 그 값을 반환, 여러 개면 -1 반환
return mostFrequent.count == 1 ? mostFrequent.first! : -1
}
'TIL' 카테고리의 다른 글
240808 데일리 포스팅 | 메모리 제약과 메모리 제한, 콜라츠 추측 (5) | 2024.08.08 |
---|---|
240721 데일리 포스팅 | iOS 앱의 메모리 구조, 프로그래머스 양꼬치 swift, 앱 만들기, 클래스와 구조체 (0) | 2024.07.21 |
240617 데일리포스팅 | 프로세스, 스레드, 몫 구하기 (0) | 2024.06.17 |
240607 데일리루틴 | 운영체제란? ios 운영체제 (2) | 2024.06.07 |
240605 데일리루틴 | ForEach, 다양항 입출력 방식 (0) | 2024.06.05 |