본문 바로가기

전체 글114

LeetCode - 22. Generate Parentheses - swift https://leetcode.com/problems/generate-parentheses/ Generate Parentheses - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 숫자 n이 주어지는데, 올바른 괄호의 짝의 개수를 뜻한다. n이 1이면 () 이 올바른 괄호이고, n이 2이면 ()(), or (()) 이 올바른 괄호다. n이 3이면 ()()() or (())() or ()(()) or (()()) or ((())) 이 올바른 괄호다. 이렇게 n이 .. 2021. 8. 18.
LeetCode - Count Good Nodes in Binary Tree - swift https://leetcode.com/explore/challenge/card/august-leetcoding-challenge-2021/615/week-3-august-15th-august-21st/3899/ 문제는 Good 이라는 노드의 개수를 찾는 것인데, Good 노드인 경우는, root노드로부터 x노드까지 가는 경로에 x노드보다 큰 값이 없는 경우에 Good 노드라고 한다. 노드의 개수는 최대 10만개이다. 간단한 이진트리를 탐색하는 문제다. 자식노드들이 Good노드이냐 아니냐만 판별하여 카운팅하면 된다. 모든 노드들을 방문하므로, O(N)이 걸린다. 그러므로, 매번 자식노드들을 탐색할때, 지금까지 방문한 노드들의 값의 최대값을 저장하면서 현재 노드와 값을 비교하면 된다. class Soluti.. 2021. 8. 17.
프로그래머스 - 위클리 챌린지 3주차 - 퍼즐 조각 채우기 - swift https://programmers.co.kr/learn/courses/30/lessons/84021 코딩테스트 연습 - 3주차 [[1,1,0,0,1,0],[0,0,1,0,1,0],[0,1,1,0,0,1],[1,1,0,1,1,1],[1,0,0,0,1,0],[0,1,1,1,0,0]] [[1,0,0,1,1,0],[1,0,1,0,1,0],[0,1,1,0,1,1],[0,0,1,0,0,0],[1,1,0,1,1,0],[0,1,0,0,0,0]] 14 [[0,0,0],[1,1,0],[1,1,1]] [[1,1,1],[1,0,0],[0,0,0]] 0 programmers.co.kr 구현문제에 완전탐색과도 같다. 여기서 핵심을 빠르게 짚어야하는데, 조각을 보드판에 채우기위해서는 꼭 맞아떨어져야 한다는 점이다. 즉, 하나의 .. 2021. 8. 17.
WWDC18 - What's New in User Notifications 세션보면서 정리한 내용입니다. 해석이 잘못된 경우가 있을수있으니 발견하시면 댓글로 남겨주시면 감사하겠습니다🙏🏻 https://developer.apple.com/wwdc18/710 What’s New in User Notifications - WWDC18 - Videos - Apple Developer Local and push notifications enable your app to keep users informed with timely and relevant content, by displaying messages and... developer.apple.com 요약 Grouped notificaitons 이제 기본적으로 같은 앱에서 나온 notification들은 자동적으로 그룹핑되어진다. ( .. 2021. 8. 11.
WWDC20 - The Push Notifications primer 세션보면서 정리한 내용입니다. 해석이 잘못된 경우가 있을수있으니 발견하시면 댓글로 남겨주시면 감사하겠습니다🙏🏻 https://developer.apple.com/wwdc20/10095 The Push Notifications primer - WWDC20 - Videos - Apple Developer Help people get the most out of your app with push notifications for important events and updates — and by delivering up-to-date data in... developer.apple.com 요약 push notification은 앱이 포그라운드 상태일 필요가 없게해주고, 필요하면 앱을 런치하게 해준다. 하기 위해.. 2021. 8. 9.
WWDC20 - Keep your complications up to date 세션보면서 정리한 내용입니다. 해석이 잘못된 경우가 있을수있으니 발견하시면 댓글로 남겨주시면 감사하겠습니다🙏🏻 https://developer.apple.com/wwdc20/10049 Keep your complications up to date - WWDC20 - Videos - Apple Developer Time is of the essence: Discover how your Apple Watch complications can provide relevant information throughout the day and help people... developer.apple.com 요약 complciation을 최신상태로 유지하는 방법은 크게 2가지 방법이 있고, 세부적으로는 4가지방법이 있다. .. 2021. 8. 9.
좌우 스크롤되는 캘린더뷰 만들기( feat: CompositionalLayout ) 본글은 캘린더뷰를 구현하는 과정속에서 어려웠던 점, 구현하는 과정을 기술한 글입니다. 캘린더뷰는 다양한 방법으로 구현할 수 있다고 생각합니다. 전체 코드는 아래에서 확인할 수 있습니다 https://github.com/gustn3965/CalendarView gustn3965/CalendarView CompositionalLayout을 이용한 좌우 스크롤 가능한 캘린더뷰. Contribute to gustn3965/CalendarView development by creating an account on GitHub. github.com 아래는 구현완료한 화면이다. 항상 월간캘린더는 6줄로 나오게 했으며, 좌우로 얼마든지 이동할 수 있다. ( 카톡 캘린더처럼 매달 6줄로 나오게 했다 ) 우선 캘린더뷰를 .. 2021. 8. 9.
백준 1561 - 놀이공원 - swift https://www.acmicpc.net/problem/1561 1561번: 놀이 공원 첫째 줄에 N(1 ≤ N ≤ 2,000,000,000)과 M(1 ≤ M ≤ 10,000)이 빈칸을 사이에 두고 주어진다. 둘째 줄에는 각 놀이기구의 운행 시간을 나타내는 M개의 자연수가 순서대로 주어진다. 운행 시간은 1 이상 30 www.acmicpc.net 꽤나 정답비율이 낮은 편에 속하는 문제다. 이렇게 낮은문제는 한번에 떠오르는 생각만으로 접근하다보면은 틀리기 십상이다. 그러므로 예외처리나, 더 세세하게 경우들을 생각하거나, 구현을 잘해야한다. 일단 N이 20억으로, 한명한명 모두 태워보며 마지막을 찾기란 시간초과다. 그러므로 시간안에 풀수있는 효율적인 방법이 필요하다. "시간"을 기준으로 문제를 접근해본다... 2021. 8. 5.