목록전체 글 (16)
게으른 개발자
안드로이드는 액티비티(Activity), 서비스(Service), 브로드캐스트 리시버(Broadcast Reciver), 콘텐츠 제공자(Content Provider)로 구성되어 있다. 이런 구성 요소들은 서비스나 유저가 앱을 사용할 수 있는 '진입점'이다. 즉, 유저나 시스템이 앱에 접근하기 위해서는 4가지 구성 요소를 사용해야 한다는 의미이다. 안드로이드의 4가지 구성 요소들은 각각 다른 목적과 라이프사이클을 가지고 있으며 이번 글에서는 안드로이드의 4가지 구성 요소에 대해 간단하게 소개한다. 액티비티(Activity) 액티비티는 사용자와 상호작용을 하기 위한 진입점이다. 액티비티는 유저 인터페이스(UI)를 포함한 하나의 화면을 가지고 있으며, 사용자와 시스템의 상호작용을 도와준다. 예를 들어 이메일..
문제 https://www.acmicpc.net/problem/1374 1374번: 강의실 첫째 줄에 강의의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 줄마다 세 개의 정수가 주어지는데, 순서대로 강의 번호, 강의 시작 시간, 강의 종료 시간을 의미한다. 강의 www.acmicpc.net 문제 설명 강의실 문제는 N개의 강의 인덱스(idx), 강의 시작시간(s), 강의 종료시간(e)이 차례로 주어진다. 이때 주어진 강의를 모두 열고자 할 때 필요한 최소 강의실 수를 구한다. 풀이 두개의 heapq를 사용하여 풀이했다. 먼저 강의 정보를 입력받으면서 heapq를 사용하여 강의 시작시간을 기준으로 오름차순 정렬한다. 그리고 강의 시작시간이 빠른 순서대로 강의실을 배..
문제 https://www.acmicpc.net/problem/16929 16929번: Two Dots 첫째 줄에 게임판의 크기 N, M이 주어진다. 둘째 줄부터 N개의 줄에 게임판의 상태가 주어진다. 게임판은 모두 점으로 가득차 있고, 게임판의 상태는 점의 색을 의미한다. 점의 색은 알파벳 대문 www.acmicpc.net 문제 설명 Two dots게임은 같은 색을 가진 노드를 이어서 사이클을 만드는 게임이다. 게임판의 크기는 최대 50 x 50이며 각 노드는 알파벳으로 주어진다. 즉 알파벳이 같다면 같은 색으로 간주한다. 주어진 게임판에서 사이클이 존재하면 Yes를, 존재하지 않으면 No를 출력한다. 문제 풀이 dfs로 풀이할 수 있다. 먼저 (0, 0)부터 (n-1, n-1)까지 dfs로 탐색하면서..
문제 https://www.acmicpc.net/problem/2109 2109번: 순회강연 한 저명한 학자에게 n(0 ≤ n ≤ 10,000)개의 대학에서 강연 요청을 해 왔다. 각 대학에서는 d(1 ≤ d ≤ 10,000)일 안에 와서 강연을 해 주면 p(1 ≤ p ≤ 10,000)만큼의 강연료를 지불하겠다고 알려왔다. www.acmicpc.net 문제 요약 순회강연 문제는 여러 대학에서 강연 제의를 받은 학자가 가장 많은 돈을 받을 수 있는 일정으로 강연을 하고자 한다. 강연 데드라인과 강연료가 주어지며 강연 데드라인 안에만 강연을 해주면 강연료를 받을 수 있다. 이때 학자가 가장 많이 받을 수 있는 강연료를 출력하는 문제이다. 기간 내에 가능한 강연을 선택할 수 있다는 것은 기간이 20일이라면, ..
문제 https://www.acmicpc.net/problem/11085 11085번: 군사 이동 전쟁 당시 Baekjoon World의 국왕은 Cube World를 공격할 작전을 세운 적이 있습니다. Baekjoon World와 Cube World는 p개의 지점과 w개의 길로 표현됩니다. 모든 길은 양방향이며, 각 길마다 너비가 존재하여 www.acmicpc.net 문제 요약 군사 이동 문제는 그래프가 주어지고 특정노드 A에서 노드 B로 이동이 가능한 최대 경로 중에서 최소 비용이 드는 경로(엣지)를 찾는 문제이다.(문제에서는 "경로 상에 있는 길 중 너비가 가장 좁은 길의 너비를 최대화하는 경로를 택한다" 라고 되어있어서 이해가 잘 되지 않았다.) 예를 들어 위와 같은 그래프가 있을 때 노드 1에서 ..