각 원칙에 한 줄 설명과 예시는 다음과 같다.Single Responsibility객체는 하나의 기능만 수행해야 한다.View 는 UI 관련 설정만, 네트워크 매니저는 HTTP 요청/응답만 관여해야 한다.Open-Closed소프트웨어 엔티티는 확장에 열려있고 변경에 닫
Delegate 와 Notification 는 클래스 간에 커플링이나 디펜던시를 최대한 줄일 수 있게 도와주기 위해 고안되었다. Delegate (대리) 는 단어 뜻 그대로, 다른 객체에게 메세지를 보냈을 때 알아서 처리해달라고 요청하는 것이다.TableView 가 스
751\. IP to CIDRIP 주소가 주어지면, 이를 정수로 만든 다음 연속한 n개의 정수만을 커버하는 CIDR 의 최소 길이 배열을 찾으면 된다.CIDR 이란, IP 주소 뒤에 비트 인덱스가 있어 이 비트 이후로는 어떤 숫자든 올 수 있기 때문에 여러 개의 IP
Campus Bikes IIworker - bike 쌍을 만들면서 맨하탄 거리 합의 최소를 찾아야 한다.n, m < 10 인 제한이라 그냥 노가다로 때려 박았다.dp 문제로 Memoization 을 사용했다.
Smallest String With A Given Numeric Value이거 예전에 풀어본 적 있는 문제인데...길이 n 인 String 이 도합 k 의 value 를 가지면서 사전순으로 가장 앞에 나와야 한다.그리디 하게 풀고 뒤집으면 된다.
Pick one 버튼을 눌러 랜덤으로 문제를 하나 골랐다.906\. Super Palindromes\[left, right] 사이에 N 과 N\*N 이 모두 팰린드롬인 수의 갯수를 구하는 문제인 듯 하다.right < 1e18 이므로 가능한 N < 1e9 이
Pick One 을 눌러 랜덤 문제를 한 개 추출하였다.1751\. Maximum Number of Events That Can Be Attended II예제를 먼저 살펴보았다.k 개의 이벤트를 고를 수 있고, 이벤트는 겹치면 안 되는 모양이다. 이벤트의 cost 가
Pick one 버튼을 눌러 랜덤 문제를 하나 뽑았다.1281\. Subtract the Product and Sum of Digits of an Integer설명이 한 줄이라 읽어보았다. 어떤 정수의 자릿수 전체의 곱과 합의 차를 구하는 문제이다.예제도 단순했다.타입
Pick One 버튼을 눌러 랜덤 문제를 하나 골랐다.1528\. Shuffle String예제를 확인해 보았다.보아하니 캐릭터의 실제 인덱스가 주어지고, 그에 맞게 정렬된 문자열을 반환하는 문제인 듯 하다.O(n) 메모리 가지고는 쉽게 풀 수 있지만... 이 문제의
Pick one 버튼을 눌러 문제를 뽑았다.877\. Stone Game예제 부터 확인했다.앨리스와 밥이 숫자를 하나씩 뽑는 문제인가 보다. 그리고 숫자의 합이 더 큰 사람이 이긴다. 최적의 플레이를 했을 때 앨리스가 이길 수 있는 지를 알아내면 된다.그리디 알고리즘이
Pick One 버튼을 눌러 문제를 하나 뽑아왔다.2088\. Count Fertile Pyramids in a LandDescription 은 읽기 귀찮아서 예시 입력을 먼저 보았다.피라미드와 인버스 피라미드 형태가 몇 개 있는지 세어 주는 문제인 듯 하다.DP 문제
Pick One 버튼을 눌러 랜덤으로 한 문제를 뽑았다.1527\. Patients With a Condition이런.. SQL 문제가 뽑혔다. 다시 돌렸다.223\. Rectangle Area그림과 예시를 먼저 봤다.직사각형 2개를 주고 면적의 총 합을 구하는 문제였