본문 바로가기
반응형

Android & Kotlin/Kotlin Algorithm6

[코틀린] 백준 1010번 다리놓기 https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 그냥 m가지가 나오고 n == m 이라면 -> 1가지 라는 경우의 수가 주어진다. 이 외에 대하여 우리는 진행을 해볼 것이다. dp[i][1] = i의 값과 dp[i][i] =1을 가지는 dp[n][m] = dp[.. 2022. 11. 12.
[dfs] 백준 2606 코틀린 : 바이러스 dfs의 가장 기본적인 문제 2606번을 코틀린으로 풀어봤다. 아직 코틀린에 대해서 아주 익숙치가 않아서 알고리즘 문제를 푸는데 조금의 버벅거림은 있는듯 싶다. https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 풀이 우선 대표적인 탐색 문제였다. 선택사항에 따라서 bfs, dfs로 풀 수 있지만 나는 dfs를 더 선호해서 dfs로 풀었다. (물론 최소를 구하는 갯수에서는 bfs를 선호) 모든 인덱스를 돌게 되면서 방문하지 않았고 두 컴퓨터간의 연결이 .. 2022. 11. 12.
[백준 코틀린] 1065 : 한수 https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net x가 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 입력값 -> n / 1 길이가 2인 등차수열 따라서 90개 모두 다된다. 세 자리수 : 위의 형식처럼 진행이 된다. ex) 1: 숫자 하나이므로 등차수열 2: 같은경우 3: 같은경우 .. 10: 길이 2 / 1 0 인 수열 -> 등차수열o 11: 길이 2 / 1 1 인 수열 -> 등차수열o .. 100: 길이 3 / 1 0 0 인 수열 -.. 2022. 11. 11.
[백준 코틀린] 2775번 : 부녀회장이 될테야 https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net /* a층의 b호에 살려면 자신의 아래 (a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 살아야한다. 0층의 i호는 i명이 산다. 0층 1,2,3,4...호 1,2,3,4...명 이 문제는 간단히 이중배열을 선언하여 값만 정리해놓으면 될듯 싶다. */ fun main(){ var arr = Array(15){IntArray(15)} var t : Int = 0 for (i in 0 until 15){ arr[i][0] = 0 // 호.. 2022. 11. 11.
[백준 코틀린] 10814 : 나이순정렬 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 문제는 나이와 이름을 받는데 나이순으로 정렬을 하고 나이가 같을경우에는 입력 받은순서로 정리를 한다. 즉 우리는 굳이 뒤를 정렬해줄필요없이 앞쪽만 정렬을 진행해주면 되는 문제였다. import java.util.* import kotlin.collections.ArrayList fun main(){ val input = Scanner(System.`in`) var n : Int= 0 var list =.. 2022. 11. 11.
[백준 코틀린] 2750번 : 수 정렬하기 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net import java.util.* fun main(){ var input = Scanner(System.`in`) var n : Int = 0 n = input.nextInt() var arr = Array(n,{0}) for (i in 0 until n){ var num = input.nextInt() arr.set(i, num) } arr.sort() for(i in 0 until n){ println.. 2022. 11. 11.
반응형