본문 바로가기

분류 전체보기

(426)
[iOS] App LifeCycle iOS 앱 생명주기 App Life Cycle App의 생명주기란, App을 터치하여 실행시킨 뒤 이것이 완전히 종료되기 까지 크게 3단꼐, 세밀하게 10단계로 진행이 된다. UIApplication 객체 생성 AppDelegate 객체 생성 Event Loop 을 실행하며 유저의 이벤트 확인 App Touch main() 안에서 UIApplicationMain() 호출, UIApplication 객체 생성 UIApplication 객체는 info.plist 파일으로부터 앱에 필요한 데이터와 객체들을 로드 커스텀 코드를 처리하기 위한 AppDelegate를 생성하고 이를 UIApplication 객체와 연결 실행을 준비하고 application(_:willFinishLaunchingWithOptions:..
[Algorithm] [Python] 백준/BOJ - 5532 _ 방학 숙제 1966 - 수 찾기 INDEX 문제 입력 출력 예제 입출력 제출 코드 문제 풀이 문제 상근이는 초등학교에 다닐 때, 방학 숙제를 남들보다 먼저 미리 하고 남은 기간을 놀았다. 방학 숙제는 수학과 국어 문제 풀기이다. 방학은 총 L일이다. 수학은 총 B페이지, 국어는 총 A페이지를 풀어야 한다. 상근이는 하루에 국어를 최대 C페이지, 수학을 최대 D페이지 풀 수 있다. 상근이가 겨울 방학동안 숙제를 하지 않고 놀 수 있는 최대 날의 수를 구하는 프로그램을 작성하시오. 입력 한 줄에 하나씩 총 다섯 줄에 걸쳐 L, A, B, C, D가 주어진다. (2 ≤ L ≤ 40, 1 ≤ A, B ≤ 1000, 1 ≤ C, D ≤ 100) 항상 방학 숙제를 방학 기간내에 다 할 수 있는 경우만 입력으로 주어진다. 출력..
[Algorithm] [Python] 백준/BOJ - 2822 _ 점수계산 2822 - 점수 계산 INDEX 문제 설명 입력 출력 예제 입출력 제출 코드 코드 설명 문제 설명 상근이는 퀴즈쇼의 PD이다. 이 퀴즈쇼의 참가자는 총 8개 문제를 푼다. 참가자는 각 문제를 풀고, 그 문제를 풀었을 때 얻는 점수는 문제를 풀기 시작한 시간부터 경과한 시간과 난이도로 결정한다. 문제를 풀지 못한 경우에는 0점을 받는다. 참가자의 총 점수는 가장 높은 점수 5개의 합이다. 상근이는 잠시 여자친구와 전화 통화를 하느라 참가자의 점수를 계산하지 않고 있었다. 참가자의 8개 문제 점수가 주어졌을 때, 총 점수를 구하는 프로그램을 작성하시오. 입력 8개 줄에 걸쳐서 각 문제에 대한 참가자의 점수가 주어진다. 점수는 0보다 크거나 같고, 150보다 작거나 같다. 모든 문제에 대한 점수는 서로 다르..
[iOS] SnapKit Snapkit 이번 프로젝트에서 SnapKit 을 사용하게 되어 이를 직접 사용하기 이전에 SnapKit 이 무엇인지 먼저 공부하며 본 문서를 작성한다. SnapKit이란? cf) SnapKit Official Repository iOS 앱을 개발할 때에는 다양한 해상도를 유연하게 지원하기 위하여 Auto Layout이라는 기능을 제공한다. Auto Layout이란? AutoLayout 이란, 기존의 Frame-Based Layout 과는 달리 View와 View사이의 관계를 이용하여 해당 객체의 위치와 크기를 자동으로 결정하는 Layout System이다. SnapKit이란 iOS와 OS X의 Auto Layout 기능을 코드로 손쉽게 적용하도록 도와주는 기능을 제공하는 라이브러리이다. 즉, 가독성을 ..
[Algorithm] [Python] 백준/BOJ - 1966 _ 수 찾기 1966 - 수 찾기 INDEX 문제 입력 출력 예제 입출력 제출 코드 문제 풀이 문제 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1≤N≤100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1≤M≤100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수의 범위는 -231 보다 크거나 같고 231보다 작다. 출력 M개의 줄에 답을 출력한다. 존재하면 1을, 존재하지 않으면 0을 출력한다. 예제 입출력 입력 : 5 4 1 5 2 3 5 1 3 7 9 5 출력 :..
[Algorithm] [Python] Programmers - 스킬트리 스킬트리 INDEX 문제 설명 입출력 예 제출 코드 코드 설명 문제 설명 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서 스파크 → 힐링 → 라이트닝 볼트 → 썬더와 같은 스킬트리는 가능하지만, 썬더 → 스파크나 라이트닝 볼트 → 스파크 → 힐링 → 썬더와 같은 스킬트리는 불가능합니다. 선행 스킬 순서 skill과 유저들이 만든 스킬트리1를 담은 배열 skill_trees가 매개변수로 주어질 때, 가능한 스킬트리 개수를 re..
[Algorithm] [Python & Swift] 백준/BOJ - 1260 _ DFS와 BFS 1260 - DFS와 BFS INDEX INDEX ### 문제 설명 ### 입력 ### 출력 ### 예제 입출력 ### 제출 코드 ### 코드 설명 문제 설명 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간..
[iOS] ViewController _ Lifecycle 뷰 컨트롤러 생명주기 본 문서에는 뷰 컨트롤러 생명주기에 대하여 공부한 내용을 정리하여 기재한다. ViewController LifeCycle viewDidLoad() 뷰의 생명주기 중 첫번째는 항상 봐왔던 viewDidLoad()이다. 모든 IBOutlet, IBAction, 뷰 관련 모든 객체들이 연결되는 시점이다. 중요한 점은, 뷰가 만들어지면 딱 한번 실행되는 메서드라는 점이다. 따라서, 뷰를 사용하기에 앞서 초기화해야 할 내용이 있다면 주로 viewDidLoad()에 기재한다. 뷰가 로드된 이후에 운영체제는 viewWillAppear() 메서드를 호출한다. viewWillAppear() 위 메서드는 뷰가 스크린에 띄워지기 직전에 호출된다. 따라서, UI를 띄우기 직전에 특정 컴포넌트를 숨기거나 ..