티스토리 뷰

코드카타

 

두 수의 차

 

문제

 

 

정답

class Solution {
    fun solution(num1: Int, num2: Int): Int {
        return num1 - num2
    }
}

Solution클래스의 solution(num1: Int, num2: Int)함수는

두 정수 num1과 num2를 매개변수로 받아

 num1에서 num2를 빼는 연산을 수행하고 그 결과를 반환한다.

 

 

 

두수의 곱

 

문제

 

 

정답

class Solution {
    fun solution(num1: Int, num2: Int): Int {
        return num1 * num2
    }
}

두수의 곱을 반환하면 된다.

 

 

 

몫 구하기

 

문제

 

 

정답

class Solution {
    fun solution(num1: Int, num2: Int): Int {
        return num1 / num2
    }
}

나눗셈 기호 ->  /

 

 

 

나이 출력

 

문제

 

 

정답

class Solution {
    fun solution(age: Int): Int {
        return 2023-age
    }
}

입출력 예시를 보면 태어난 시점부터 1살로 취급하는 걸 알 수 있다.

따라서 2022(주어진 년도) + 1 - age로 선생님의 출생연도를 구할 수 있다. 

 

 

 

두 수의 합

 

문제

 

 

정답

class Solution {
    fun solution(num1: Int, num2: Int): Int {
        return if (num1 == num2) 1 else -1
    }
}

파이썬 같은 경우 int(num1 == num2)를 반환하는 것으로 문제를 해결할 수 있지만

코틀린에선 불리언 결과를 정수로 변환하는 내장 매커니즘이 없다고 한다.  

 

그래서 if-else를 사용해 문제를 해결했다.

 

 

if-else 표현식

if (조건식) 조건식이 참일 때 else 조건식이 성립하지 않을 때

if-else 표현식을 이용해 간결한 코드를 작성할 수 있다.

 

 

두 수의 합

 

문제

 

 

정답

class Solution {
    fun solution(num1: Int, num2: Int): Int {
        return num1 + num2
    }
}

덧샘 기호 -> +

 

 

 

두 수의 나눗셈

 

문제

 

 

정답

class Solution {
    fun solution(num1: Int, num2: Int): Int {
        var n:Double = num1.toDouble() / num2  
        return (n * 1000).toInt() 
    }
}

 

 

변수선언

var 변수명: 자료형 = 값

//var : 변수값 변경 가능
//val : 선언시에만 초기화 가능(변경 불가능) -> Dart의 final

 

 

나눗셈 결과 소수점까지

var n:Double = num1.toDouble() / num2

코틀린에서 정수 나눗셈의 결과를 소수점까지 나타내고자 할 땐

나누는 수나 나눠지는 수 중 하나 또는 둘 다를 Double 타입 또는 Float 타입으로 캐스팅 해야한다.

 

따라서 n이라는 Double형 변수를 선언해서 num1에서 num2를 나눈값으로 초기화 한다.

 

 

자료형 맞춰주기

return (n * 1000).toInt()

그대로 n * 1000을 반환하게 되면 함수의 자료형과 반환하는 자료형이 달라 실행오류가 나게된다.

solution함수는 Int형을 반환하므로 반환할 값을 Int형으로 변환해준다.

 


 

안드로이드와 코틀린

 

운영체제와 플랫폼

 

 

안드로이드 플랫폼은 리눅스 운영체제 안에서 리눅스와 상호작용하면서 동작한다.

 

 

 

안드로이드 플랫폼 위쪽엔

안드로이드가 실행되는 런타임 영역이 존재한다.

 

 

플랫폼 버전과 API 레벨

 

 

안드로이드는 플랫폼 버전과 별개로 API 수준이 존재한다.

 

API는 안드로이드 플랫폼의 기능을 사용할 수 있도록 하는 도구로 

API 레벨에 따라 새로운 기능이 추가되거나 코드가 변경되기도 한다.

 

API 레벨 21 이상의 버전을 사용하는 사용자가 전체의 98.8%로 대부분을 차지한다.

이런 점으로 미루어보아 API 레벨은 21 이상으로 설정해 주는 것이 좋을 것 같다.

 

 

코틀린

안드로이드 개발을 하는데 사용되는 언어이다.

리눅스 커널과 자바 API 프레임워크가 결합된 형태를 띈다.

 

현재는 JVM을 대신해 안드로이드 런타임(Android Runtime, ART)을 사용한다.

가상 머신 위에서 동작을 하기 떄문에 자바의 동작 구조를 사용하고 있다.

 

Kotlin은 Jetbrans사가 만든 프로그래밍 언어이다.

Jetbrans사는 IntelliJ라는 개발 툴을 만들었고,

이를 기반으로 안드로이드 스튜디오가 만들어졌다.

 

 

함수형 프로그래밍 언어 코틀린

 

// Hello World 출력하기

// Java
class Hello {
    public static void main(String args[]) {
        System.out.print("Hello World");
    }
}

// Kotlin
print("Hello World")

 

객체지향 프로그래밍은 클래스 내부에 있는 함수에서만 로직을 작성하지만,

함수형 프로그래밍은 이런 제한 없이 어디에서나 작성할 수 있다.

 

 

자바와 코틀린의 차이

 

코드의 간결성 < 이 한마디로 정리 가능

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함