전체 글
-
[Leetcode/Grind75] 438. Find All Anagrams in a StringPS 2025. 11. 1. 20:57
문제 원문Given two strings s and p, return an array of all the start indices of p's anagrams in s. You may return the answer in any order.예제Example 1: Input: s = "cbaebabacd", p = "abc" Output: [0,6] Explanation: The substring with start index = 0 is "cba", which is an anagram of "abc". The substring with start index = 6 is "bac", which is an anagram of "abc". Example 2: Input: s = "abab", p = "ab" ..
-
[Leetcode/Grind75] 39. Combination SumPS 2025. 10. 20. 18:05
문제 원문Given an array of distinct integers candidates and a target integer target, return a list of all unique combinations of candidates where the chosen numbers sum to target. You may return the combinations in any order. The same number may be chosen from candidates an unlimited number of times. Two combinations are unique if the frequency of at least one of the chosen numbers is different. The..
-
[Algorithm] 순열/조합/중복순열/중복조합Algorithm 2025. 10. 20. 13:38
백트랙킹(backtracking)순열이나 조합처럼 depth가 유동적인 경우 for로 탐색하기 보다는 재귀를 이용해서 탐색하는게 수월하다. dfs와 차이점은 dfs는 depth 끝까지 탐색하지만 백트랙킹은 해가 아니라고 판단되면 더이상 탐색을 하지않는다.백트랙킹 알고리즘을 이해하기 가장 쉬운 예시가 순열과 조합이다. 순열 - N개중 M개를 순서를 고려하여 뽑는 경우의 수조합 - N개중 M개를 순서를 고려하지 않고 뽑는 경우의 수중복순열 - N개중 M개를 순서를 고려 & 중복 허용중복조합 - N개중 M개를 순서를 고려하지 않음 & 중복 허용순열(Permutation)순열은 순서를 고려하여 경우의수를 나열한다 예를들어 1,2,3 의 수에서 3개의 순열로 경우의수를 나열하면(1,2,3)(1,3,2)(2,1,3..
-
[Leetcode/Grind75] 57. Insert IntervalPS 2025. 10. 17. 02:58
https://leetcode.com/problems/insert-interval/문제 원문You are given an array of non-overlapping intervals intervals where intervals[i] = [starti, endi] represent the start and the end of the ith interval and intervals is sorted in ascending order by starti. You are also given an interval newInterval = [start, end] that represents the start and end of another interval. Insert newInterval into interv..
-
SOPT 36기 iOS 파트 면접 후기(feat. 최종합격🎉🎉🎉🎉🎉)대외할동 2025. 3. 26. 18:06
지난번 SOPT 서류에 합격하고 면접을 보고 온 후기를 이제서야 올린다. 결과가 발표되기 전에 질문들을 공유하면 안 되기에 임시저장을 했었는데 저장한 게 모두 날아갔다. 그래서 다시 합격소식을 듣고나서 면접을 어떻게 준비했고 합격했는지 이야기를 해보려고한다! 결과는 모두 개인한테 개별로 문자로 전송된다. 예상 발표시간은 4시인데 정확히 3분정도가 지나서 문자로 결과를 확인할 수 있는 링크가 전달됐다. 그리고 떨리는 마음으로 결과를 조회한결과...!!!합격이로구나~! 🎉🎉🎉🎉🎉🎉정말 합격할지 몰랐다. 아직도 싱숭생숭하고 오류가 난 것은 아닐까?라고까지 생각이 들 정도로 감개무량하고 기분이 좋다 좋게 봐주신 만큼 앞으로 열심히 정말 열심히 해낼 것이다.여튼 기분좋은건 여기까지하고 면접을 준비하면..
-
SOPT 36기 iOS 파트 지원 후기 - 서류 합격!!!대외할동 2025. 3. 18. 11:28
SOPT에 지원하게 된 계기작년에 많은 일이 있었다 2개의 팀 프로젝트를 진행하면서 다양한 사람들과 같이 협업을 해보면서 여러 가지 일들이 있었고 후반기에는 그렇게 원하던 개발 동아리인 DND에 들어가게 되면서 얼마전 성공적으로 최종 데모데이를 마칠 수 있었다. 나름 성공적이고 보람찬 한 해를 보낸 것 같다는 생각이 든다.혼자서 개발과 취업 준비를 병행하다 보니 어느새 스스로 지쳐있다고 느끼는 때가 있었고 점점 그 빈도도 잦아지는 느낌을 받았다. 여행도 다녀와보고 하루는 개발을 안 해보기 등등 여러 가지 시도를 해보면서 느낀 것은 현재의 나는 휴식이 필요하기보다는 새로운 자극이 필요함을 절실히 느끼게 되었다. 그러던 중 말로만 들었던 SOPT에서 36기 멤버들을 모집하고 있는 것을 발견하게 되었다 SOP..
-
[Swift] 속성 감시자 - property ObserverSwift 2024. 1. 8. 01:22
속성 감시자란 변수의 속성의 변화를 감시할 수 있는 메서드 이다. 저장 속성에 대하여 willSet, didSet 메서드를 설정할 수 있는데 해당 변수의 값이 변경되기 전, 후 에 대한 감시가 가능한 메서드를 제공한다. var animal: String = "dog" { willSet(value) { print("값이 \(animal) 에서 \(value)로 변경될 예정") // 값이 dog 에서 cat로 변경될 예정 } } animal = "cat" animal 이라는 변수는 저장 속성이며 "dog" 라는 문자열을 값으로 가지고 있다 해당 변수의 값을 밑에서 cat으로 변경하면 willSet 메서드가 호출되면서 willSet 메서드 내부의 메세지가 출력된다. var animal: String = "do..
-
[iOS/SwiftUI] firebase로 피드 데이터 가져오기iOS 2023. 12. 24. 02:32
인스타그램을 보면 피드 화면에는 모든 피드가 랜덤으로 나타나고 유저의 프로필을 들어가면 해당 유저가 작성한 피드만 나타난다 앱을 만들다 보면 이러한 경우가 종종 발생한다 그럴때 어떻게 로직을 구성해야 할지 잘 모르겠고 이 방식이 맞나 고민이 됬었다. 탐색화면으로 가면 모든 게시물을 보여준다 이러한 경우에는 모든 게시물을 가져오도록 기능을 구현하면 된다. 하지만 특정 유저의 게시물을 갔을때는 유저가 작성한 게시물만 나타도록 해야한다 가장 간단한 방법은 현재 SearchViewModel 에서 fetchPosts 메서드의 인자로 유저의 id를 받고 해당 유저의 id가 존재하면 특정 유저의 id를 가져오고 id가 존재하지 않는다면 모든 게시물을 가져오는 방식을 생각했다. 해당 방식을 사용할 수 있지만 PostG..