문제https://www.acmicpc.net/problem/28702 풀이3개의 입력값 다음의 올 숫자( targetNumber )에 대한 FizzBuzz값을 찾는 문제이다.특정 숫자의 FizzBuzz값은 아래와 같이 3과 5의 나머지 연산을 통해 쉽게 구할 수 있다.fun getFizzBuzz(i: Int): String { if (i % 3 == 0 && i % 5 == 0) { return "FizzBuzz" } if (i % 3 == 0) { return "Fizz" } if (i % 5 == 0) { return "Buzz" } return i.toString()} 3개의 연속된 입력값중에 정수 i가 하나라도 존재하면..
코틀린 내장 Split 라이브러리는 여러개의 구분자를 지원하긴 하지만, 구분자가 계속 가변적으로 바뀌어 곤란한 경우에 다음과 같은 코드를 사용하면 됩니다.Split (collection 사용)컬렉션 타입으로 저장된 여러 구분자를 이용해 문자열을 자르는 확장함수를 구현하였다.Char와 String 타입의 구분자들을 포함하는 컬렉션을 이용해 분할이 가능하다.fun main() { // splitByCollection println("한놈,두식이0석삼^너구리".splitByCollection(setOf(",", '0', "^"))) // [한놈, 두식이, 석삼, 너구리] println("하나:둘,셋;넷".splitByCollection(listOf(":", ",", ';'))) //..
Split (기본 사용법)구분자를 기준으로 문자열을 분할하여 List 반환한다.fun main() { println("한놈,두식이0석삼^너구리".split(",", "0", "^")) // [한놈, 두식이, 석삼, 너구리]} ignoreCase = true 인자를 넣으면 구분자의 대소문자가 무시된다fun main() { println("한놈a두식이A석삼a너구리".split("a")) // [한놈, 두식이A석삼, 너구리] println("한놈a두식이A석삼a너구리".split("a", ignoreCase = true)) // [한놈, 두식이, 석삼, 너구리]} limit = n을 인자를 넣으면 최대 n개의 문자열로 분할된fun main() { println("한놈a두..
4. 배열fun array(){ val array = arrayOf(1,2,3) val list = listOf(1,2,3) val array2 = arrayOf(1,"d",3.4f) val list2 = listOf(1,"d",11L) array[0] = 3 //list[0] = 2 //immutable 값 변경 불가 val arrayList = arrayListOf() //mutable한 List arrayList.add(10) arrayList.add(20) //arrayList = arrayListOf() //val 선언시 재할당 불가}array와 arrayList는 mutable하다 즉 값의 수정이 가능list는 값의 수정이 불가능하다.5. ..
1. 함수 생성fun helloKotlin(): Unit { // Unit 반환 타입은 생략가능 println("Hello Kotlin-Basic!")}fun add(a: Int, b: Int): Int { return a + b}helloKotlin() // Hello Kotlin-Basic!println(add(4, 5)) // 9코틀린은 fun키워드를 사용해 함수를 생성한다.fun 함수명(인자: 타입) : 반환타입 { } 의 구조를 가지고 있다세미콜론(;)은 붙일 필요가 없다.2. 문자열 템플릿과 주석fun printInfo(){ var name : String = "meda" val lastName = "ndro" println("닉네임:${name}") print..
코틀린의 장점정적언어 : 컴파일시 자료형 검사 및 오류 발견이 가능NullPointerException을 방지함함수형 프로그래밍, 객체지향 프로그래밍이 가능세미콜론을 생략가능하다간결하다! 메모리 구조 정리코드 영역 : 명령어들이 적재됨데이터 영역 : 문자열, 정적변수등이 적재됨힙 : 프로그램 실행 중 동적으로 생성되는 객체가 적재됨스택 : 코드블록 (aka.중괄호{}) 에서 사용한 변수등이 임시로 적재되며, 코드블록이 끝나면 스택에서 제거됨 메모리 공간 이상 적재시 힙은 Out of Memory 오류가 발생한다 (반복문 내의 메모리 할당 등)스택은 Stack Overflow 오류가 발생한다. (반복적인 재귀적 함수 호출 등)JVM을 사용하면 객체가 사용된 뒤 아무 참조가 없을 경우 가비지컬랙터(GC)가 ..