안드로이드에서 백그라운드 작업이란?안드로이드에서 백그라운드 작업이란, 애플리케이션이 화면에서 보이지 않는 상태에서도 동작하는 작업들을 말한다. 음악 재생, 파일 다운로드, 위치 정보 수집 등등. https://small-stepping.tistory.com/1034 안드로이드 4대 컴포넌트잡설:면접때 받은 질문인 안드로이드 4대 컴포넌트.아니 정확히는 안드로이드에 액티비티, 서비스, 브로드캐스트 리시버, 콘텐츠 프로바이더에 대해 설명해보라고 들었다.맨 처음에 이 대답을small-stepping.tistory.com https://small-stepping.tistory.com/1005 WorkManager로 백그라운드 작업WorkManager란?WorkManager는 상황별 실행과 보장된 실행을 조합하여..
View와 ViewGroup란?안드로이드 화면을 구성하는 요소로 View와 ViewGroup이 존재한다.애플리케이션을 실행시켰을때 보이는 UI 요소들이 View라고 할 수 있고, 이 View를 담아 적절히 배치하기 위해 필요한 것이 ViewGroup이다. View: 화면에 보이는 구성요소ViewGroup: N개의 View를 포함할 수 있는 컨테이너ViewGroup에는 View, ViewGroup이 포함될 수 있고, ViewGroup은 View를 포함하므로 모든 UI라는 것은 View라고 할 수 있다. View와 ViewGroup의 종류일반적으로 View는 위젯, ViewGroup을 레이아웃이라고 한다. View에서 자주 사용되는 것들엔 당연하게도 TextView, EditText, Button, Ima..
문제 출처 : https://www.acmicpc.net/problem/28135 언어 : Kotlin 문제 설명 :이에 기뻐한 선우는 어떤 수에 50이 들어가면 그 수를 한 번 더 세기로 하였다. 예를 들어 5152는 한 번만 세지만 5050이나 5051은 한 번 더 센다.선우의 방식대로 1부터 차례대로 수를 셀 경우, 몇 번째 수를 셀 때 N이 처음으로 등장하는지 구하여라. 선우의 방식대로라면 50은 50번째 수에서 처음 등장하지만, 51은 52번째 수에서 처음 등장한다. 입력 :N이 주어진다. (1 출력 :선우의 방식대로 1부터 차례대로 수를 셌을 때 어떤 수 N이 몇 번째 수에서 처음 등장하는지 출력하시오. 제한 사항 :시간 제한 : 1초메모리 제한 : 1024MB 입출력 예 :입력출력50505..
문제 출처 : https://www.acmicpc.net/problem/26040 언어 : Kotlin 문제 설명 :알파벳 대소문자로 구성된 문자열 A가 주어진다. 한 개 이상의 알파벳 대문자가 공백으로 구분된 문자 목록 B가 주어진다. 문자 목록 B에는 중복된 대문자가 존재하지 않는다. 문자 목록 B에 존재하는 모든 대문자 b에 대하여, 문자열 A에 존재하는 대문자 b를 대응하는 소문자로 치환한 문자열을 C라고 하자. 입력으로 문자열 A와 문자 목록 B가 주어지면 문자열 C를 출력하자. 입력 :첫 번째 줄에 문자열 A가 주어진다. 두 번째 줄에 문자 목록 B가 주어진다. 출력 :첫 번째 줄에 문자열 C를 출력한다. 제한 사항 :시간 제한 : 1초메모리 제한 : 128MB3 ≤ 문자열 A 길이 ≤ 100..
문제 출처 : https://www.acmicpc.net/problem/23027 언어 : Kotlin 문제 설명 :큰일이다. 시험 문제를 본 쿠기는 1번부터 풀 수가 없다. 시험 시간 동안 할 일이 없었던 쿠기는 교수님께 편지를 쓰려고 한다. 작년 시험에서 교수님께 그동안 감사했다는 편지를 전하고 D+을 받았던 기억이 있다. 그때 성적이 문제였는지, 편지가 문제였는지 궁금하여 이번에도 1번 문제의 답안 칸에 편지를 작성하려고 한다. 혹시나 하는 마음에 쿠기는 D+만은 피하고자 편지를 수정하려고 한다. 편지의 내용 S에 'A'가 있다면 S에 있는 'B', 'C', 'D', 'F'를 모두 'A'로 변경한다. 'A'가 없고 'B'가 있다면 S에 있는 'C', 'D', 'F'를 모두 'B'로 변경한다. 'A'..
문제 출처 : https://www.acmicpc.net/problem/9733 언어 : Kotlin 문제 설명 :꿀벌이 하는 일은 다음과 같이 분류할 수 있다. 휴식(Re), 순찰(Pt), 방청소(Cc), 꽃가루 먹기(Ea), 새끼 돌보기(Tb), 벌집 짓기와 관리(Cm), 외부 활동(Ex) 한 꿀벌이 1시간 동안 한 일이 주어졌을 때, 각각을 몇 번 했고, 비율이 어떻게 되는지 구하는 프로그램을 작성하시오. 입력 :입력은 꿀벌이 한 일이 공백과 줄바꿈으로 구분되어서 주어진다. 최대 24개의 일을 한다. 출력 :각각의 일을 한 횟수와 비율을 공백으로 구분하여 출력한다. 출력은 {Re,Pt,Cc,Ea,Tb,Cm,Ex} 순서대로 하며, 비율은 소수점 둘째 자리까지 출력한다. 주어진 목록에 없는 일은 출력하..
문제 출처 : https://www.acmicpc.net/problem/26768 언어 : Kotlin 문제 설명 :Od dawna wiadomo, że hakerzy posługują się własnym językiem, różnymi skrótami i innymi formami zaciemniania, żeby zacierać ścieżki po sobie. O najlepszych z nich zwykle mawia się „h4x0rzy”.Niektórzy hakerzy czasami zamieniają niektóre litery na cyfry, żeby ich tekst wyglądał bardziej profesjonalnie. Każde wystąpienie jednej z poniż..
문제 출처 : https://www.acmicpc.net/problem/15786 언어 : Kotlin 문제 설명 :석규는 해외로 저렴하고 간편하게 송금할 수 있는 센트비 서비스를 이용하여 CTP 왕국에 놀러간 형동이에게 돈을 보내주려고 한다. 하지만 안타깝게도 석규는 센트비 비밀번호를 까먹어버렸고 돈을 보내주지 못한다. 다행히도 석규는 평소에 포스트잇에 비밀번호를 적어놓는다. 비밀번호는 알파벳 대문자로만 구성이 되어있으며 석규는 이 중 일부를 정확히 기억하고 있다. 석규는 포스트잇을 확인하여 비밀번호를 입력하려고 했지만, 포스트잇은 여러 장 존재했고 이 중 어떤 포스트잇이 센트비 비밀번호가 적힌 포스트잇인지 모른다. 석규는 센트비 비밀번호의 알파벳 중 등장하는 순서대로 N글자만 정확히 기억하고 있으며..
아호 코라식 알고리즘(Aho-Corasick string matching algorithm)은 Alfred V. Aho와 Margaret J. Corasick이 고안한 문자열 매칭 알고리즘이다. 패턴 1개를 탐색하는 매칭 알고리즘은 선형 시간에 구현됨을 KMP 등 여러 알고리즘을 통해 증명되었으나, 패턴 집합에 대해 해당 알고리즘들을 사용해보면 패턴 개수에 비례해 그 속도가 느려진다는 점이 발생했다.시간복잡도는 O(m + zn)이 되는 것이다.m: 모든 패턴들의 길이 합z: 패턴 수n: text 크기이를 보완한 것이 아호 코라식 알고리즘으로 시간복잡도는 O(m + n + k)이다. 패턴 집합에 대하여 패턴 길이와 텍스트의 선형 시간에 탐색을 처리할 수 있게 된다.k: 텍스트 내에 패턴의 발생 수 아호 코..
문제 출처 : https://www.acmicpc.net/problem/27880 언어 : Kotlin 문제 설명 :Soongsil University Station is famous as the deepest station on Seoul Subway Line 7. This station is so deep that the platform is on the B6. Gahui was surprised that she did not reach the platform after more than five minutes from the exit. Gahui wants to know how deep Soongsil University station is. Find the depth of the Soongsil ..