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..
전체 글
IT Bloghttps://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 ..
는 Kotlin에서 제네릭(generic)을 나타내는 표현입니다. 제네릭은 클래스나 함수를 일반화하여 다양한 타입의 데이터를 처리하는 데 사용되는 방법입니다. 는 타입 매개변수(type parameter)로 사용되며, 실제 사용 시에는 특정한 타입으로 대체됩니다. 제네릭을 사용하면 코드를 더 유연하게 작성할 수 있으며, 타입 안정성(type safety)을 유지하면서 중복 코드를 줄일 수 있습니다. 예를 들어, 컬렉션 클래스나 함수에서 특정 타입이 아닌 여러 타입의 데이터를 다루어야 할 때 제네릭을 사용하면 한 번의 구현으로 다양한 타입을 지원할 수 있습니다. 를 사용한 예시를 보겠습니다: class Box(var content: T) { fun getItem(): T { return content } ..
fun combination(answer: MutableList, el: List, ck: Array, start: Int, target: Int) { if (target == 0) { val subset = el.filterIndexed { index, _ -> ck[index] } answer.add(subset) } else { for (i in start until el.size) { ck[i] = true combination(answer, el, ck, i + 1, target - 1) ck[i] = false } } } fun main(args: Array) { var arr = listOf(1, 2, 3, 4) // 1. Int //var arr = "asdf".toList() // 2. ..
두 개의 배열이 같은지 비교하는 방법으로는 contentEquals() 함수나 직접 반복문을 사용하는 방법이 있습니다. 아래에 두 가지 방법을 예시와 함께 제시하겠습니다. contentEquals() 함수 사용: fun main() { val array1 = arrayOf(1, 2, 3) val array2 = arrayOf(1, 2, 3) val array3 = arrayOf(4, 5, 6) val areEqual1 = array1.contentEquals(array2) val areEqual2 = array1.contentEquals(array3) println("Array1 and Array2 are equal: $areEqual1") // 출력: Array1 and Array2 are equal:..
Kotlin에서 배열을 자르는 방법은 여러 가지가 있습니다. 배열의 일부분을 선택하여 새로운 배열을 생성하는 방법으로 sliceArray(), take(), drop() 등의 함수를 사용할 수 있습니다. sliceArray() 함수 사용: fun main() { val originalArray = arrayOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) val slicedArray = originalArray.sliceArray(2 until 6) // 인덱스 2부터 5까지의 요소 선택 println(slicedArray.joinToString()) // 출력: 3, 4, 5, 6 } take() 함수 사용: fun main() { val originalArray = arrayOf(1, 2,..