https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 배열 + 최대의 합을 구하라는 시점에 완전 탐색을 써야한다는건 알았지만, 테트로미노를 어떤식으로 해야 할지 많이 고민했던 문제. 테트로미노의 모양을 모두 시작점을 기준으로 하드코딩 해서 하는 방법도 생각했지만... 그런식으로는 풀기 싫어서 다른 방법을 생각했다. 테트로미노의 모양은 ㅗ 모양을 제외하고 모두 DFS로 정의 할 수 있음. 따라서 시작점을 기준으로 dfs로 경로값을 계산 후 ㅗ 모양은 ..
https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 X www.acmicpc.net 접근 방식 : 스택을 이용하여 접근. (X) 와 [X]는 X의 값에다가 2또는 3을 곱한 값이고 ()와 []는 2와 3을 반환한다. ()와 [] 내부에 아무것도 들어 있지 않지만 1이 들어 있다고 가정하면 결국 X값이 들어있는 괄호나 X가 들어있지 않는 값이나 계산방식은 똑같은 점을 이용해 풀었다. 풀이 과정: 인풋값은 "(([]()))"가 들어간다고 가정. 괄호가 시작되는 경우 괄호스택에 ..
https://www.acmicpc.net/problem/17619 17619번: 개구리 점프 첫 번째 줄에 통나무 개수 N과 질문의 개수 Q가 주어진다. 다음 N개의 줄에 각 통나무에 x1, x2, y의 세 정수 좌표가 주어진다. 주어진 통나무는 두 점 (x1, y)와 (x2, y)를 잇는 형태이다. (x1 < x2) 모든 www.acmicpc.net 처음 이 문제를 봤을때 프로그래머스의 요격 시스템 문제와 비슷하다고 생각했으나 다른 방식으로 접근 해야했다. 문제의 요점은 A통나무에서 B 통나무로 이동이 가능한를 판단하는 것 만약 통나무 A → D로 이동이 가능하다면 그 중간에 있는 서로 이동 가능한 통나무들끼리는 이동이 가능하다. A → D로 이동 할 때, A → B, B→D or A→B, B→C, ..
우선 앱 시작 시퀸스는 다음과 같다. 1. Xcode에서 제공하는 main 함수를 시스템이 호출 2. main함수는 UIApplication과 app delegate를 생성하는 함수 UIApplicationMain()을 호출 3. UIKit은 Info.plist 혹은 Xcode의 타겟에서 지정한 기본 스토리보드를 로드함. 만약 스토리보드를 사용하지 않을 시 이 단계를 건너 뜀. 4. UIKit이 app delegate에서 application(_: willFinishLaunchingWithOptions:)를 호출 5. UIKit이 UI restoration process을 수행함. application(_:shouldRestoreApplicationState:)의 값이 true경우 수행하고, false일..
클린 아키텍처, DI 등등 다양한 아키텍처와 디자인 패턴등을 공부할 때 참고한 프로젝트에 머지가 되었다! 어떤식으로 코드를 작성했나 하고 소스코드 뜯어 보고 있었는데, 안쓰는 프로퍼티가 존재하길래 지우고 PR 보냈더니 되었다. 처음 경험해보았다. 그렇게 큰 프로젝트도 아니고 어려운 프로젝트도 아니지만, 2.9k 스타를 받은 프로젝트에 머지되니까 기분은 좋다. https://github.com/kudoleh/iOS-Clean-Architecture-MVVM GitHub - kudoleh/iOS-Clean-Architecture-MVVM: Template iOS app using Clean Architecture and MVVM. Includes DIContainer, FlowCoor Template iOS..