728x90

전체 글 279

04/02 알고리즘 공부(83) - 귤 고르기

조건 경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다. 예를 들어, 경화가 수확한 귤 8개의 크기가 [1, 3, 2, 5, 4, 5, 2, 3] 이라고 합시다. 경화가 귤 6개를 판매하고 싶다면, 크기가 1, 4인 귤을 제외한 여섯 개의 귤을 상자에 담으면, 귤의 크기의 종류가 2, 3, 5로 총 3가지가 되며 이때가 서로 다른 종류가 최소일 때입니다. 경화가 한 상자에 담으려는 귤의 개수 k와 귤의 크기를 담은 배열 tangerine이 매개변수로 주어집니다. 경화가 귤 k개를 고를 때 크기가 서로..

TIL/알고리즘 2024.04.02

04/01 알고리즘 공부(82) - 멀리 뛰기

조건 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다. 제한조건 n은 1 이상, 2000 이하인 정수입니다. 입출력 예 n result 4 5 3 3 알고리즘 예상 우선 알고리즘을 짜기 위해서는 n과 result의 연관성을 ..

TIL/알고리즘 2024.04.01

03/29 주특기 2주차 수준별 과제(3) - Fragment LifeCycle

Fragment는 단독으로는 존재할 수 없고 반드시 Activity 위에서만 존재할 수 있다. 액티비티가 꺼지면 그 액티비티 위에 있는 Fragment도 같이 종료된다. Fragment는 수명주기가 상향( Created - Started - Resumed)로 바뀔 때 새 상태와 관련된 콜백 함수를 먼저 호출한다. 생명주기 1. CREATED Fragment CREATED Fragment가 FragmentManager에 추가되고 onAttach() 메서드가 호출된 상태이다. SavedStateRegistry를 통해 Fragment 의 저장상태를 복원하는데 적절하다. 이 시점에는 뷰가 생성되지 않았으며 뷰와 관련된 모든 작업은 뷰가 생성된 이후에 진행해야한다. Fragment CREATED 및 뷰 INITI..

TIL/공부 2024.03.31

03/29 알고리즘 공부(81) - N개의 최소공배수

조건 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 제한조건 arr은 길이 1이상, 15이하인 배열입니다. arr의 원소는 100 이하인 자연수입니다 입출력 예 arr result [2,6,8,14] 168 [1,2,3] 6 알고리즘 예상 39번 문제 - 최대공약수와 최소공배수를 해결했던 알고리즘을 생각해보면 최대공약수를 먼저 구해서 최소공배수를 ..

TIL/알고리즘 2024.03.29

03/28 주특기 2주차 수준별 과제(2) - Activity Stack

공식문서 Task? Activity Stack을 알아보기 전에 먼저 Task의 개념부터 가볍게 짚고 넘어가자. Task는 진짜 정말 간단하게 "실행중인 앱" 을 확인할 때 볼 수 있는 하나하나의 앱이라고 생각할 수 있다. 앱을 실행하면 해당되는 앱의 Task를 시작하고 Task를 통해 실행중인 앱들을 관리할 수 있다. Task는 Stack형태로 해당 앱을 관리할 수 있게 만들어준다. Activity Stack? 기본적으로 앱을 실행하게되면 main Activity (manifest에서 설정)가 실행되며 이후 다른 Activity 를 실행하게되면 실행되던 Activity는 따로 설정하지 않으면 Destroy되지 않고 스택에 쌓여있는다. 스택은 선입후출의 구조를 가지고 있어서 가장 먼저 들어온 Activit..

TIL/공부 2024.03.28

03/28 알고리즘 공부(80) - 예상 대진표

조건 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는 다시 1번부터 N/2번을 차례대로 배정받습니다. 만약 1번↔2번 끼리 겨루는 게임에서 2번이 승리했다면 다음 라운드에서 1번을 부여받고, 3번↔4번에서 겨루는 게임에서 3번이 승리했다면 다음 라운드에서 2번을 부여받게 됩니다. 게임은 최종 한 명이 남을 때까지 진행됩니다. 이때, 처음 라운드에서 A번을 가진 참가자는 경쟁자로 생각하는 B번 참가자와 몇 번째 ..

TIL/알고리즘 2024.03.28
728x90
반응형