🍀 오늘의 회고
오늘도 너무 졸리지만 회고를 쓴다! 컴피 개발은 어째서인지 해도 해도 계속 뭔가가 나온다.. 확실하게 작업 일정을 고려하고, 무슨 작업을 얼마나 걸려서 하게 될지 예측하는 게 어려웠던 것 같다. 그동안 작업 일정 고려를 잘하는 편이라고 생각했는데, 이번엔 새로운 기술 도입이 많아서일까? 확실히 이번 기능 개발이 끝나고 나서부터는, 좀 더 명확하게 작업 일정을 고려해야 할 것 같다.
열심히 WWDC 영상을 보고, 새로운 위치 기술을 사용해 보려고 했는데! ㅎㅎ 알고보니 버전이 높아서 사용할 수 없는 것이었다.. 눈물을 머금고 그래도 요약 정리하던 건 내일 마저 해야지.. 그래도 컴피에서 다양한 기능을 구현 중이라서 시간이 걸려서 팀원들에겐 미안하지만, 재밌다! 히히. 으악 일단 졸려서 여기까지 마무리해야겠다..
✅ 오늘의 TODO
- 알고리즘(3문제)
- 오늘의 문제 ✅
- Class2 문제 2개 ✅
- 마디 기록 화면 상세 기획 피드백 ✅
- 컴피
- 위치 기능 구현 🔜(진행 중)
- 컴피존 설정 화면 구현 🔜(진행 중)
- 앨런 Concurrency 🔜(진행 중)
- TIL 작성 ✅
🌼 오늘의 문제 - 프로그래머스. JadenCase 문자열 만들기
문장에서 주어진 단어의 첫 글자만 대문자로 만들고, 나머지는 소문자로 만들어서 출력하는 문제였다. 첫 번째 시도에 틀렸는데, 처음에는 문장을 split으로 나눠서 합쳤을 때 공백이 여러 개인 경우를 고려하지 못했다. 그래서 아예 모든 문자열을 돌면서 첫 번째 글자면 대문자로, 아니면 소문자로 변경해서 출력했다. 유후.
def solution(s):
result = s[0].upper()
for i in range(1, len(s)):
if s[i - 1] == " ":
result += s[i].upper()
else:
result += s[i].lower()
return result
🌼 백준 Class2 문제 2개 풀기 - 1259. 팰린드롬수, 11650. 좌표정렬하기
우연히 오늘 문자열 문제를 2개 풀었다. 팰린드롬수는 뒤집어도 동일한 숫자인지 확인하는 문제였는데, 처음에는 가운데를 기준으로 좌우를 나눠서 비교했다. 그런데 그냥 뒤집어서 비교하면 되는 문제였는데, 꼬아서 생각했다 하하.
""" 1259. 팰린드롬수 """
def solution(num):
if len(num) == 1:
return "yes"
else:
half = len(num) // 2
left = num[:half]
right = num[:len(num) - half - 1:-1]
return "yes" if left == right else "no"
def solution2(num):
if num == num[::-1]:
return "yes"
else:
return "no"
좌표정렬하기는 정렬 문제였는데, 그냥 힙으로 풀었다. sort의 key를 둘 수도 있겠지만, 어차피 우선순위대로 pop 하는 heapq을 사용해서 풀었다. 오예.
""" 11650. 좌표 정렬하기 """
import heapq
n = int(input())
heap = []
for _ in range(n):
(x, y) = map(int, input().split())
heapq.heappush(heap, (x, y))
while heap:
x, y = heapq.heappop(heap)
print(x, y)
🌟 앨런 Concurrency async, await
그저 새로운 비동기 처리 방식이라고만 알았는데, 강의를 보면서 더 명확하게 비동기 개념과 Task 개념을 알아가고 있다. 마디 네트워킹에서 모두 콜백 형태로 사용중인데, 이걸 모두 변경할 수 있지 않을까 생각한다. 아마 기존 API도 대응하면서 진행해야 하니까.. 고려해야 할 지점들이 많겠지만 재밌을 것 같다. 기존 함수를 활용하려면 Continuation이라는 것을 활용할 수 있다. 하지만, 아예 새로운 Concurrency 방식으로 변경해보고 싶다. 얼른 뒷부분과 part2까지 들어보고 싶다!!
👀 컴피 - Intent 쪼개기, FaceID 인증하기
Feat: 컴피존 세팅 > Bottom Sheet로 부터 생성되는 Popup 구현 by anjiniii · Pull Request #27 · HorangITBeanS/COMFI
About this PR 🔖 Related Issue ✨ Feat: 04-컴피존 설정 > Bottom sheet #25 📚 Contents 하.. 쉽지 않군요..! 이제 다음은 컴피존 관련 Repository + 위치 기능 구현인데.. 너무 커질 것 같아서 일단 한 번 끊어가겠
github.com
오늘도 컴피는 이어진다. 컴피존 Bottom Sheet 에서 화면 관련 기능은 지난 PR에서 마무리했고, 이번에는 기능 구현을 주로 하려고 했다. 그런데 팝업 관련 기능 구현을 하고 보니, 다음 내용들이 길어질 것 같아서 일단 끊어가기로 했다. Intent가 너무 커져서 PopupIntent를 쪼갰고, 관련해서 MVI 사용기를 작성해 보면 어떨까 생각한다. 이전엔 뭣도 모르고 도입한 도입기라면, 실제로 사용하면서 어떤 불편과 장점들이 있는지 조금씩 느껴진다.
'🐥 Records > Daily | Today I Leared' 카테고리의 다른 글
[TIL] 99클럽 코테 스터디 15일차 TIL + DP (0) | 2025.04.21 |
---|---|
[TIL] 99클럽 코테 스터디 14일차 TIL + DP (0) | 2025.04.18 |
[TIL] 99클럽 코테 스터디 12일차 TIL + DP, (SwiftUI) Map 오류 (0) | 2025.04.16 |
[TIL] 99클럽 코테 스터디 11일차 TIL + 이진탐색, 수학 (0) | 2025.04.15 |
[TIL] 99클럽 코테 스터디 10일차 TIL + 그리디 (0) | 2025.04.14 |