0. 오늘의 계획 📋
시작 전에 적어보는 오늘의 계획
- 강의 꼭 듣기 ✅
- 그동안 공부한 알고리즘 복습하기 ✅
- 공부 루틴 모두 완료하기 ✅
1. 회고 📝
마무리하며 적어보는 회고
- 느낀 점: 공부할 때 하나하나 다 적으면서 해서 시간이 많이 걸린다
이렇게 하는게 맞을까?! 효율적인 방법이 뭘까 고민해봐야겠다!
그렇다고 한 번 보고 넘어가기엔 나중에 두번 세번 보는게 더 비효율적인거 같기도..!!! - 잘한 점 : 내가 밥도 굶으며 6시간 빡공을 하다니
- 개선 점 : 오늘은 넘나 열공했으니 칭찬만 해주겠어요 다만 장황하게 공부하지 않기 ㅎ
- 앞으로 :
- 효율적인 공부 방법 생각
- 지금 하는 공부에 집중하기
2. 오늘 배운 내용 📘 (데일리 루틴)
- swift 강의 ✅
강의명 : 코드로 UI 짜기
- 키워드:클로저의 실행문
- 개요:
- 클로저의 실행문으로 속성 정의하며 만들기
- 1일 1커밋 ✅
📜 문제 설명
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.
⌨️ 입출력 예
[1, 2, 3, 3, 3, 4] 3
✏️ 나의 코드
...쩝
📚 개선 코드
import Foundation
func solution(_ array: [Int]) -> Int {
var frequency = [Int: Int]() // 각 숫자의 빈도를 기록할 딕셔너리
// 각 숫자의 빈도 계산
for num in array {
frequency[num, default: 0] += 1
}
// 가장 높은 빈도 찾기
let maxFrequency = frequency.values.max() ?? 0
// 가장 많이 나온 값이 여러 개일 경우 -1 반환
let mostFrequent = frequency.filter { $0.value == maxFrequency }
if mostFrequent.count > 1 {
return -1
} else {
// 최빈값이 하나일 경우 그 값을 반환
return mostFrequent.keys.first! //✔️
}
}
마지막 결과를 뽑을 때 어렵고 헷갈렸는데 어렵게 생각할 필요 없이 값이 하나기 때문에 first 뽑으면 뽑힌다~~
전에도 딕셔너리를 잘 몰라서 틀린 문제인데
오늘도 딕셔너리를 몰라서 못풀었다..!!!
관련 내용이 잘 정리된 https://babbab2.tistory.com/113 추천!
- cs 공부 ✅
질문 : 13. HTTP 프로토콜의 특징과 HTTP/1.1과 HTTP/2의 차이점을 설명해주세요.
답변 : https://github.com/23ji/iOS_Interview_Questions
💬
음하하,,, 오늘 좀 찢었다잉
'TIL' 카테고리의 다른 글
250308 TIL (0) | 2025.03.10 |
---|---|
250211 TIL | Swift ImageLiteral | 아이폰 사용 이미지는 2x로 (0) | 2025.02.12 |
TIL 241128 폭설..🌨️❄️ | map, HTTP (2) | 2024.11.28 |
241125 TIL | 코드로 UI 짜기, 네트워크 프로토콜 스택 (0) | 2024.11.25 |
241115 TIL | 최소직사각형 swift, ARC | 알고리즘 공부 효율 찾기 (4) | 2024.11.15 |