fun isPrime(num: Int): Boolean { if (num
코테/코딩테스트 대비 Kotlin
문제 https://www.acmicpc.net/problem/1309 1309번: 동물원 첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다. www.acmicpc.net 어떤 동물원에 가로로 두칸 세로로 N칸인 아래와 같은 우리가 있다. 이 동물원에는 사자들이 살고 있는데 사자들을 우리에 가둘 때, 가로로도 세로로도 붙어 있게 배치할 수는 없다. 이 동물원 조련사는 사자들의 배치 문제 때문에 골머리를 앓고 있다. 동물원 조련사의 머리가 아프지 않도록 우리가 2*N 배열에 사자를 배치하는 경우의 수가 몇 가지인지를 알아내는 프로그램을 작성해 주도록 하자. 사자를 한 마리도 배치하지 않는 경우도 하나의 경우의 수로 친다고 가정한다. 첫째 줄에 사자를 배치하는 경우의 수를 9901로 나눈 나머지를..
https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 정답 코드 class RGB{ var N = 0 lateinit var Costs:MutableList val colors = List(3) { when (it) { 0 -> listOf(1, 2) 1 -> listOf(0, 2) 2 -> listOf(0, 1) else -> throw IllegalArgumentException("Invalid index") } } fun ..
https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 정답 코드 class Lan{ var N = 0L var K = 0L lateinit var lans: MutableList fun solution(){ var (k, n) = readln().split(" ").map{ it.toLong() } N = n K = k lans = mutableListOf() var maxLan = 0L for(i in 0 until K..
https://www.acmicpc.net/problem/13023 13023번: ABCDE 문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다. www.acmicpc.net lateinit var inifriends: MutableList lateinit var visited: MutableList var result = 0 var N = 0 fun main(){ var (n, m) = readln().split(" ").map {it.toInt()} N = n var arr = List(n){ it } inifriends = MutableList(n){ mutableListOf() } visited = MutableList(n){false} for(i in 0 until..
https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하인 양의 정수이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍 www.acmicpc.net lateinit var computers:List fun main(){ var n = readln().toInt() var t = readln().toInt() computers = List(n+1){ mutableListOf() } for(i in 0 until t){ var (a, b) = readln().split(" ").map{it.toInt()} computers[a].add(b) compu..
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net import kotlin.collections.ArrayDeque val dx = arrayOf(-1,1, 0,0) val dy = arrayOf(0, 0, -1, 1) var N = 0 var M = 0 fun main() { val (n, m) = readLine()!!.split(" ").map { it.toInt() } N = n M = m val maze = Array(n) { // 2차원 배열 입력 readLine()..
https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 11~15의 테스트케이스가 시간초과가 발생하였다. //시간초과 발생 코드 class Solution { fun solution(X: String, Y: String): String { var answer: String = "" var x = Array(10){0} var y = Array(10){0} for(i in 0 until X.length){ x[X[i]-'0']++ } for(i in ..