최신글

more

[TIL] 99클럽 코테 스터디 9일차 TIL + 그리디

🌼 오늘의 문제 - 백준 2437. 저울처음에는 이 문제를 직접 부분 집합을 모두 구하고, 빈 공간이 생기는 최소 숫자를 결과로 출력했다. 당연히(?) 시간 초과로 실패했다. 이렇게 직접 모두 구하는 방식이 아닐 거라고 생각했지만, 혹시나 하는 마음에 제출해 봤지만.. 그렇게 되었다. ㅎㅎ... 그래서 정답을 찾았고, 문제 풀이를 이해하는데 정말 오래 걸렸다. 코드는 단순한데, 그 풀이를 이해하는데 시간을 조금 썼다. 내일 다시 천천히 코드를 보면서 이해하는 시간을 가져봐야지!""" 정답 코드 """n = int(input())arr = list(map(int, input().split()))def solution2(): arr.sort() target = 1 for w in arr: ..

Daily | Today I Leared 2025.04.11 0

[TIL] 99클럽 코테 스터디 8일차 TIL + 문자열, 정규표현식

✅ 오늘의 TODO- 알고리즘  - 오늘의 문제 ✅  - Class2 문제 2개 ✅- 컴피  - 위치 기능 구현 🔜  - 컴피존 설정 화면 구현 🔜 (일부 PR 작성 완료)  - 더 보기 화면 구현 🔜- TIL 작성 ✅  🌼 오늘의 문제 - 백준 9996. 한국이 그리울 땐 서버를 접속하지https://www.acmicpc.net/problem/9996문제 이름이 특이한 오늘의 문제. 오늘도 첫 번째 시도에서 틀렸는데, a*a와 같은 경우에 단순히 a라는 문자 하나만 있을 때와 같이 패턴의 길이보다 문자열의 길이가 짧은 경우를 고려하지 못했다. 자꾸 숨어 있는 예외와 경우의 수를 탐색하는 습관을 가져야 할 것 같다. 아래는 최종적으로 수정한 코드! 예외 상황을 고려하는 것 외에는 로직이 어려운 문..

Daily | Today I Leared 2025.04.10 0

[TIL] 99클럽 코테 스터디 7일차 TIL + 스택

🌼 오늘의 문제 - 백준 10799. 쇠막대기최근에 백준 문제를 풀면 꼭 한 번씩 틀리고 푼다. 하하 엉엉ㅠㅜ 분명 테스트 케이스는 다 맞는데, 히든 케이스에서 걸린다. 아마도 최적화된 알고리즘을 바로 생각해 내는 훈련이 필요한 것 같다. 그래도 익숙해지고 있다는 것은 분명하다. 전보다 자료구조나 알고리즘을 떠올리는 속도가 점점 빨라지고 있다. 다만 떠올렸을 때 코드로 옮기는 데는 시간이 조금 걸린다. 흐흐.. [Algorithm] 백준 10799 쇠막대기 | 스택 (파이썬)첫 번째 시도, 시간초과. 두 번째 약간의 힌트를 얻고 통과! 처음 생각하던 아이디어 그대로 풀었으면 시간 초과 안 나고 잘 풀었을 텐데 반복문을 두 번이나 쓰면서 시간초과로 실패했다. 그래mohagunolziii.tistory.com

Daily | Today I Leared 2025.04.09 0

iOS

more

[iOS] Intent의 의도는 무엇일까? MVI 패턴 도입기

🔖 MVI 도입기 호랑이티비ㄴ스 팀에서 MVI패턴을 채택해 프로젝트를 설계하기로 했다.가장 큰 이유는 학습에 있었고,양방향 아키텍처인 MVC, MVVM 패턴을 경험했던 팀원들이 있어서, 단방향으로 가보자고 했다.그리고 추가로 이번 프로젝트가 규모가 매우 작기 때문에,다른 외부 라이브러리를 사용하지 않고 우리가 직접 구성해 보자는 의견이 모였다. 그런데 MVI 패턴.. 나는 사실 작년에 이해하다가 포기한 패턴이다.단방향 흐름과 Intent의 의도를 파악하지 못했던 것이 가장 큰 이유이다.하지만 이번에 설계해보고, 조금이나마 이해를 해보기로 했다! 🔖 iOS에서 MVI는 어떻게 적용되고 있는가..MVI를 검색하면 Android와 관련된 글이 아주 많다.사실 안드로이드 개발 경험이 없어서 잘 모르지만,개발..

📕 iOS 2025.03.06 1

[SwiftUI] Line Height 설정하기

SwiftUI로 개발하다 보면 불편한 점.. Text의 Line Height를 바로 설정할 수 없다는 점이다. 커스텀 된 디자인에서는 분명 디자이너가 글자의 높이까지 고려해서 디자인을 했을 텐데, 종종 그냥 넘어간 경우도 있었다. (하하 비밀..) 하지만 위젯 개발을 하면서 폰트의 높이가 중요하게 작용하고 있어서, SwiftUI로 Font 높이 설정하는 방법을 찾아봤다. 오늘의 결론.struct ContentView: View { private let height = UIFont(name: "SpoqaHanSansNeo-Bold", size: 40)?.lineHeight ?? 50 var body: some View { VStack { Text("Hell..

SwiftUI 2025.02.06 0

[iOS] iOS 프로젝트에서 Custom Font 사용하기

SwiftUI에서 Line Height 적용하는 방법 글을 작성하다가, iOS에서 원하는 폰트를 사용하는 방법에 대해 분명 써놓은 글이 있었던 것 같았는데 없길래 짧게 기록해본다! 어렵지 않으니 차근차근 시작! 1. 프로젝트 폴더 내에 원하는 폰트 파일을 추가한다.특정 폴더 내에 넣어도 상관없고, 원하는 곳에 추가하면 된다.추가할 때 타겟을 꼭 잘 보고 체크하기만 하면 되는데, 보통 자동으로 체크되어 있다.  2. Info.plist에 폰트 이름을 추가한다.Info.plist에 Key는 Fonts provided by application, Value로 폰트 이름을 확장자까지 포함해서 넣어준다.!! 확장자를 포함하는것을 놓치지 말고 적어주자 !!  2-1. 정확한 폰트명 찾기.혹시 이후에 폰트가 적용이 ..

📕 iOS 2025.02.05 0

Flutter

more

[Flutter] SystemUiOverlayStyle_상단 상태바 색상 변경

앱의 배경 색상에 따라 상단바에 있는 시각, 배터리, 와이파이를 나타내는 아이콘의 색상을 바꿔줘야 할 때!! SystemOverlayStyle을 사용해주면 된다. 아래처럼 build 함수 내에서 선언해주면되고, @override Widget build(BuildContext context) { SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light); return Scaffold( body: Container( ~~ ), ); } 두 가지 옵션을 선택할 수 있다. SystemUiOverlayStyle.light 는 하얀색 SystemUiOverlayStyle.dark 는 검은색으로 나타난다.

Flutter 2023.01.27 0

Flutter for SwiftUI Devs - Drawing on the Screen

In SwiftUI Flutter 문서에는 이렇게 한 줄로 설명한다. SwiftUI에서 스크린에 선이나 모양을 그리기 위해 CoreGraphics를 사용한다. CoreGraphics는 무엇일까? CoreGraphics는 Framework인데, Quartz technology의 power를 활용하여 lightweight 2D rendering을 높은 정확도의 output으로 수행한다. path-based drawing, antialiased rendering, gradients, images, color management, PDF documents, 그 이상을 다룬다. Apple Developer Documentation developer.apple.com In Flutter Flutter는 Canvas..

Flutter for SwiftUI - Managing state

In SwifUI SwiftUI에서, view의 내부에서 state를 관리하기 위해 @State라는 property wrapper를 사용한다. struct ContentView: View { @State private var counter = 0; var body: some View { VStack{ Button("+") { counter+=1 } Text(String(counter)) } }} 또한, 더 복잡한 상태 관리를 위해 여러 옵션들이 있는데, 예를 들어, ObservableObject라는 protocol이 있다. In Flutter Flutter에서 local state를 관리하기 위해 StatefulWidget을 사용한다. 다음 두 종류의 class로 stateful widget을 구현한다...