본문 바로가기
반응형

Kotlin191

백준 15918 랭퍼든 수열쟁이야!! Kotlin (백트래킹) 문제 출처 : https://www.acmicpc.net/problem/15918 15918번: 랭퍼든 수열쟁이야!! 세 자연수 n, x, y가 주어진다. (2 ≤ n ≤ 12, 1 ≤ x < y ≤ 2n, 1 ≤ y-x-1 ≤ n) www.acmicpc.net 문제 랭퍼드 수열은 다음 조건을 만족하는 길이 2n의 수열이다. 1 이상 n 이하의 자연수가 각각 두 개씩 들어 있다. 두 개의 1 사이에는 정확히 1개의 수가 있다. 두 개의 2 사이에는 정확히 2개의 수가 있다. ... 두 개의 n 사이에는 정확히 n개의 수가 있다. 예를 들어 3, 1, 2, 1, 3, 2은 n=3인 랭퍼드 수열이다. n이 주어졌을 때, 길이 2n의 랭퍼드 수열의 개수를 구하면 된다. 하지만 이렇게만 하면 재미가 없으니 조건.. 2022. 10. 9.
백준 1718 암호 kotlin (문자열) 문제 출처 : https://www.acmicpc.net/problem/1718 1718번: 암호 Vigenere cipher이라는 암호화 방법은 암호화하려는 문장 (평문)의 단어와 암호화 키를 숫자로 바꾼 다음, 평문의 단어에 해당하는 숫자에 암호 키에 해당하는 숫자를 더하는 방식이다. 이 방법을 변 www.acmicpc.net 문제 Vigenere cipher이라는 암호화 방법은 암호화하려는 문장 (평문)의 단어와 암호화 키를 숫자로 바꾼 다음, 평문의 단어에 해당하는 숫자에 암호 키에 해당하는 숫자를 더하는 방식이다. 이 방법을 변형하여 평문의 단어에 암호화 키에 해당하는 숫자를 빼서 암호화하는 방식을 생각해 보자. 예를 들어 암호화 키가 love이고, 암호화할 문장이 “nice day” 라면 다음.. 2022. 10. 7.
백준 2628 종이자르기 Kotlin (정렬) 문제 출처 : https://www.acmicpc.net/problem/2628 2628번: 종이자르기 아래 과 같이 직사각형 모양의 종이가 있다. 이 종이는 가로방향과 세로 방향으로 1㎝마다 점선이 그어져 있다. 가로 점선은 위에서 아래로 1번부터 차례로 번호가 붙어 있고, 세로 점선 www.acmicpc.net 문제 아래 과 같이 직사각형 모양의 종이가 있다. 이 종이는 가로방향과 세로 방향으로 1㎝마다 점선이 그어져 있다. 가로 점선은 위에서 아래로 1번부터 차례로 번호가 붙어 있고, 세로 점선은 왼쪽에서 오른쪽으로 번호가 붙어 있다. 점선을 따라 이 종이를 칼로 자르려고 한다. 가로 점선을 따라 자르는 경우는 종이의 왼쪽 끝에서 오른쪽 끝까지, 세로 점선인 경우는 위쪽 끝에서 아래쪽 끝까지 한 번.. 2022. 9. 29.
백준 2548 대표 자연수 Kotlin (이분 탐색) 문제 출처 : https://www.acmicpc.net/problem/2548 2548번: 대표 자연수 첫째 줄에는 자연수의 개수 N이 입력된다. N은 1 이상 20,000 이하이다. 둘째 줄에는 N개의 자연수가 빈칸을 사이에 두고 입력되며, 이 수들은 모두 1 이상 10,000 이하이다. www.acmicpc.net 문제 정보초등학교의 연아는 여러 개의 자연수가 주어졌을 때, 이를 대표할 수 있는 대표 자연수에 대하여 연구하였다. 그 결과 어떤 자연수가 다음과 같은 성질을 가지면 대표 자연수로 적당할 것이라고 판단하였다. “대표 자연수는 주어진 모든 자연수들에 대하여 그 차이를 계산하여 그 차이들 전체의 합을 최소로 하는 자연수이다.” 예를 들어 주어진 자연수들이 [4, 3, 2, 2, 9, 10]이.. 2022. 9. 28.
백준 13424 비밀 모임 Kotlin (플로이드 와샬) 문제 출처 : https://www.acmicpc.net/problem/13424 13424번: 비밀 모임 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에 테스트 케이스의 개수를 나타내는 자연수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 방 www.acmicpc.net 문제 해리와 친구들은 엄브릿지의 감시를 피해 어둠의 마법 방어술을 연습하기 위한 비밀 모임을 하려고 한다. 그들은 아무도 모르게 모임의 장소를 전달하기 위해 가짜 갈레온을 사용하는데, 해리가 자신의 가짜 갈레온에 모임의 장소를 적으면 친구들이 가진 가짜 갈레온에 해리가 적은 장소가 나타난다. 해리가 다니고 있는 호그와트 마법 학교에는 모임에 사용할만한 N개의 방이 있다. 각 방에는 .. 2022. 9. 26.
백준 10427 빚 Kotlin (누적 합) 문제 출처 : https://www.acmicpc.net/problem/10427 10427번: 빚 각각의 줄에 대해 S(1) + … + S(N) 을 구한다. 중간 과정 및 답은 int 범위를 초과할 수 있으므로, 64bit 정수형(long long: C/C++, long: Java) 를 이용해야 한다. 입출력은 C/C++: printf("%lld\n",answer); Java : System. www.acmicpc.net 문제 민균이에게는 ‘빚쟁이’ 라는 별명이 있다. 이 별명은 악덕 사채업을 하는 김우현연구소에서 민균이가 빌린돈을 잘 갚지 않는다고 하여 붙여준 이름이다. 민균이가 최근 N (1 ≤ N ≤ 4000) 번 돈을 빌렸고, 그때마다 빌린 돈이 각각 A(1), A(2), …, A(N) (1 ≤.. 2022. 9. 21.
백준 1633 최고의 팀 만들기 Kotlin (dp) 문제 출처 : https://www.acmicpc.net/problem/1633 1633번: 최고의 팀 만들기 꿍 협회는 매년 세계체스대회에 나갈 팀을 만들고 있다. 팀은 흑으로 플레이하는 15명과 백으로 플레이하는 15명, 총 30명으로 이루어진다. 꿍 협회는 가능한 최고의 팀을 만들려고 하는데 각 플 www.acmicpc.net 문제 꿍 협회는 매년 세계체스대회에 나갈 팀을 만들고 있다. 팀은 흑으로 플레이하는 15명과 백으로 플레이하는 15명, 총 30명으로 이루어진다. 꿍 협회는 가능한 최고의 팀을 만들려고 하는데 각 플레이어의 흑,백 능력치는 각각 1부터 100까지의 정수로 주어진다. 대회가 진행되는 동안 플레이어는 흑, 백 중 한 가지만으로 참여를 해야하며 팀의 전체 능력치는 흑 플레이어의 능.. 2022. 9. 21.
백준 21317 징검다리 건너기 Kotlin (dp) 문제 출처 : https://www.acmicpc.net/problem/21317 21317번: 징검다리 건너기 산삼을 얻기 위해 필요한 영재의 최소 에너지를 출력한다. www.acmicpc.net 문제 심마니 영재는 산삼을 찾아다닌다. 산삼을 찾던 영재는 N개의 돌이 일렬로 나열되어 있는 강가를 발견했고, 마지막 돌 틈 사이에 산삼이 있다는 사실을 알게 되었다. 마지막 돌 틈 사이에 있는 산삼을 캐기 위해 영재는 돌과 돌 사이를 점프하면서 이동하며 점프의 종류는 3가지가 있다. 점프의 종류에는 현재 위치에서 다음 돌로 이동하는 작은 점프, 1개의 돌을 건너뛰어 이동하는 큰 점프, 2개의 돌을 건너뛰어 이동하는 매우 큰 점프가 있다. 각 점프를 할 때는 에너지를 소비하는데, 이 때 작은 점프와 큰 점프시.. 2022. 9. 20.
[Android/Kotlin] Coroutine은 왜 Light Thread이고 어떤 식으로 동작할까? 제가 가진 의문과 생각을 정리한 글입니다~! 틀린 내용이 있다면 알려주세요 :) Coroutine이란? Coroutine은 협력형 멀티 태스킹과 루틴을 통해서 구조화된 동시성을 구현하는 것이다. 협력형 멀티태스킹? 우선 Coroutine은 비선점형 스케쥴링이다. 비선점형이란 멀티태스킹의 각 작업을 운영체제가 강제로 중단시키고 다른 작업을 실행하게 할 수 없는 것을 말하는데, 그럼에도 불구하고 Coroutine이 여러 작업을 교체하며 수행할 수 있는 이유는 각 Coroutine들이 자발적으로 CPU 자원을 포기하며(yield) 여러 Coroutine이 협력적으로 실행을 주고받으면서 작동하기 때문이다. 구조화된 동시성? Coroutine은 CoroutineScope을 제공해주는데, 이 스코프 내에 Corou.. 2022. 9. 19.
반응형