Kotlin - 소수 구하기 소수는 1과 자기 자신만 나누어 떨어지는 1보다 큰 자연수이다. fun isPrime(x: Int): Boolean { for (i in 2 until x) {// 2부터 x-1까지 반복 if (x % i == 0) return false// x가 한 번이라도 나누어 떨어지면 소수가 아님 } return true// 모두 반복해도 나누어 떨어지지 않으면 소수 } 에라토스테네스의 체 참고 Kotlin/문법 2024.02.08
Kotlin - filter, map filter 컬렉션을 iteration 하면서 주어진 람다에 각 원소를 넘겨서 람다가 true를 반환하는 원소만 필터링 val list = listOf(1, 2, 3, 4, 5) println(list.filter { it % 2 == 0 }) //[2, 4] map 각 원소를 원하는 형태로 변환하는 기능을 하며, 변환한 결과를 모아서 새 컬렉션을 만든다. 결과는 원본 리스트와 원소 개수는 같지만, 각 원소는 주어진 람다에 따라 변환된 새로운 컬렉션이다. val list2 = listOf(1, 2, 3, 4, 5) println(list.map { it * it }) 예시코드 val monthList = listOf(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) v.. Kotlin/문법 2024.02.07
Kotlin - 입력 값 받기 (알고리즘 문제 풀기위한) 1. Scanner - nextInt(), nextLine() 등으로 자료형을 손쉽게 지정 가능하다. - 띄어쓰기로 구분되어있는 Integer도 nextInt()로 손 쉽게 가공할 수 있다. - 키보드 입력을 바로바로 전송하는 원리여서 느리다. // 입력값 = DF //27 fun main(args: Array) = with(Scanner(System.`in`)) { val name = nextLine() val age = nextInt() println("name: $name, age:$age") // name: DF, age:27 } fun main(args: Array) = with(Scanner(System.`in`)) { val arr = ArrayList() repeat(5){ arr.add(.. Kotlin/문법 2024.02.06
Kotlin - StringBuilder() 1. 빈 배열 생성 val sb = StringBuilder() val sb2 = StringBuilder("hello") 2. append() val sb2 = StringBuilder("hello") sb2.append("World") println(sb2) //helloWorld 3. insert() val sb2 = StringBuilder("hello world") sb2.insert(6,"kotlin ") println(sb2) //hello kotlin world 4. delete() val sb2 = StringBuilder("hello world") sb2.delete(6,11) println(sb2) //hello 4-1) deleteCharAt() - 특정 인덱스의 문자 하나 삭제 5.. Kotlin/문법 2024.02.05
Kotlin - List vs Array List ? - 순서가 있는 자료형들의 집합이다 - 불연속적인 메모리 공간을 점유하여 메모리 관리에 용이하다 - 포인터를 사용하여 다음 값을 가르키고 있어 삽입과 삭제 동작이 빠르다 Array ? - 생성 후, 사이즈는 고정, 원소 삭제나 추가 등을 사용할 수 없다. - val / var으로 선언해도 똑같은 동작을 수행한다. - 서로 다른 타입이 공존할 수 있다. - it 키워드가 index 역할을 한다. 큰 차이점 - Array는 고정된 사이즈를 가진다. / List는 사이즈를 변형할 수 있다. Kotlin/문법 2024.02.05
Kotlin - List 추출하기 - subList : 리스트의 인덱스를 기반으로 리스트의 일부분을 추출하여 새로운 리스트를 생성하는 메서드 - slice : 범위를 추출하여 새로운 리스트를 만드는 메서드 val list = listOf(1,2,3,4) val sub = list.subList(1,4) //[2,3,4] val sliced = list.slice(1..4) //[2,3,4,5] subList / slice 차이점 val mutableList = mutableListOf(1, 2, 3, 4, 5) val sub = mutableList.subList(1, 4) // [2, 3, 4] val sliced = mutableList.slice(1..3) // [2, 3, 4] mutableList[2] = 7 println(su.. Kotlin/문법 2024.02.04
Kotlin - 배열 arr.first() // 첫번째 요소 arr.last() // 마지막 요소 arr.indexOf(인덱스) // 요소의 인덱스 출력 arr.average() // 배열의 평균 값 arr.count() // 요소 개수 arr.sum() // 요소 합 arr.contains(요소) // 요소가 포함되어 있는지 (in과 같음) println(arr) // [I@b684286 //그냥 출력하게되면 arr의 주소값을 출력한다. println(arr.contentToString()) // 사용하면 원소가 출력된다. forEach() // 요소 개수 만큼 지정한 구문 반복 실행 forEachIndexed() // 순환하며 인덱스까지 출력 ( index = i, 요소 = e로 화살표(->)를 사용하여 함께 출력 가능 Kotlin/문법 2024.02.03
Kotlin - replace() replace - 공백 제거 및 특정 문자열 반환 var str = "hello world" println(str.replace(" ","")) //helloworld println(str.replace("world","hi")) //hellohi Kotlin/문법 2024.02.02
Kotlin - contains() - 특정 문자열 포함 여부 true, false 반환 - 대/소문자 구분 O val str = "hello word" println(str.contains("hello")) //true Kotlin/문법 2024.02.02