프로그래머스 Lv.0 정복하기 진행중.
오늘 아주 쉬운 문제 포함 23문제쯤 완료했다.
코테 연습 깃헙
문제 설명
어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.
-> n * 2의 t제곱 == 최종 세균의 수 일 것이라 생각하고 문제를 풀었는데,
'제곱'이 문제였다.
pow(2, t)를 했더니 Int형으로 변환이 되지 않았다.
pow(_: Decimal, _: Int)라 Decimal 타입이길래 pow(2.0, t)를 했는데, 또 안됐다.
뭐가 문제인지 도저히 모르겠어서 검색을 했더니 인자를 모두 소수점형으로 변환하면 된다고 한다.
pow(2.0, Double(t))를 하니까 Int형 변환에 성공했다.
pow 함수가 pow(_: Float, _: Float) -> Float 형태도 있어서 소수점형으로 인자를 넣으면 반환값도 Float 타입이라 Int로 변형이 되는 것이었다.
func solution(_ n: Int, _ t: Int) -> Int {
return n * Int(pow(2.0), Double(t)))
}
--> 여기 적고 보니 나는 pow 내부에서 Double로 했는데 왜 pow(_: Float, _: Float) -> Float 가 가능한거지? 라는 의문이 들었다.

--> 코드 돌려보니 pow(_: Double, _: Double) -> Double도 존재해서 가능한 거였다..ㅎㅎ
Make your UIKit app more flexible - WWDC25
원래는 swift github에서 Array에서 사용되는 Iterator 프로토콜을 보려고 했는데.. 못찾아서 방향을 틀었다.
전체적 내용은 '적응형 앱'을 만들기 위해 필요한 것들, 하면 좋을 것들을 알려주는 것이었다.
Scene이 가장 중요한 요소로, UI 라이프싸이클에 따라 잠시 비활성 되고 다시 사용하기위해 복원하기 위해서는 필수적이라고 한다.
그리고 이 scene의 ui를 잘 정의해야 flexible한 앱을 만들 수 있다고 한다.
그리고 뷰컨트롤러들을 관리하는 Container view controllers가 있다고 한다.
UITabBarController, UISplitViewController 등이 있고, 여기서는 이 둘을 중점적으로 소개했다.
큰 내용은 어떤 플랫폼(아이폰, 맥북, 아이패드)에서 앱을 사용하더라도 이 뷰컨트롤러들을 잘 정의해두면 사이즈에 따라서 ui를 자동적으로 조정해줄 수 있다는 것이었다.
그러기 위해서는 safeArea를 잘 지켜줘야 한다고 한다.
무엇보다 이런 적응형 ui를 가진 앱들의 가장 큰 장점은, 추후 새로운 하드웨어가 나오더라도 그에 맞추어 ui를 수동적으로 바꿔줄 필요가 없다는 점이다.
ios26은 이런 범용성을 많이 고려했 설계된듯하다.