본문 바로가기

코틀린

[백준] [코틀린 Kotlin] 1008번_A/B 문제 링크 https://www.acmicpc.net/problem/1008 1008번: A/B 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 백준 1008번 A/B (Kotlin) 문제 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다. 예제 입력 1 1 3 예제 출력 1 0.33333333333333333333333333333333 풀이 코드 메모리 15964KB 시간 124ms 코드 길이 221B import java.io.BufferedRe.. 더보기
[백준] [코틀린 Kotlin] 10998번_AxB 문제 링크 https://www.acmicpc.net/problem/10998 10998번: A×B 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 백준 10998번 AxB (Kotlin) 문제 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A×B를 출력한다. 예제 입력 1 1 2 예제 출력 1 2 풀이 코드 import java.io.BufferedReader import java.io.InputStreamReader fun main() = with(BufferedReader(InputStreamReader(System.`in`))) .. 더보기
[백준] [코틀린 Kotlin] 1001번_A-B 문제 링크 https://www.acmicpc.net/problem/1001 1001번: A-B 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 백준 1001번 A-B (Kotlin) 문제 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A-B를 출력한다. 예제 입력 1 3 2 예제 출력 1 1 풀이 코드 import java.io.BufferedReader import java.io.InputStreamReader fun main() = with(BufferedReader(InputStreamReader(System.`in`))) { v.. 더보기
[백준] [코틀린 Kotlin] 1000번_A+B 문제 링크 https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 백준 1000번_A+B (Kotlin) 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A+B를 출력한다. 예제 입력 1 1 2 예제 출력 1 3 풀이 코드 import java.io.BufferedReader import java.io.InputStreamReader fun main() = with(BufferedReader(InputStreamReader(System.`in`))) { v.. 더보기
[백준] [코틀린 Kotlin] 2557번_Hello World 문제 링크 https://www.acmicpc.net/problem/2557 2557번: Hello World Hello World!를 출력하시오. www.acmicpc.net 백준 2557번_Hello world (Kotlin) 문제 Hello World!를 출력하시오 입력 X 출력 Hello World!를 출력하시오 예제 출력 1 Hello World! 풀이 코드 fun main() { print("Hello World!") } 내 풀이 가장 기본 print를 이용해서 출력하는 문제! 더보기
[Kotlin] 제너릭 Generic 클래스나 함수에서 사용하는 자료형을 외부에서 지정할 수 있는 기능인 제너릭 : 함수나 클래스를 선언할 때 고정적인 자료형 대신 실제 자료형으로 대체되는 타입 파라미터를 받아 사용하는 방법 타입 파라미터에 특정 자료형이 할당되면 제너릭을 사용하는 모든 코드는 할당된 자료형으로 대체되어 컴파일 됩니다 ex) fun genericFunc (param: T): T class GenericClass (var pref: T) -> 안에 Int가 할당되었으므로 T 자리엔 모두 Int가 할당됨 따라서 캐스팅 연산 없이도 자료형을 그대로 사용할 수 있습니다 타입 파라미터의 이름은 클래스 이름과 규칙이 같지만 일반적으로 'Type'의 이니셜인 'T'를 사용하는 것이 관례이며 여러개의 제너릭을 사용할 경우 T의 다음 알파벳.. 더보기
[Kotlin] 클래스의 다형성 다형성의 개념을 음료에 비교해 표현하자면 우리가 목이 말라서 아무 음료나 마셔도 좋을 때도 있지만 각자 기호에 맞춰 물, 콜라 혹은 사이다를 마시고 싶을 때가 있습니다 이때 콜라를 '콜라 자체'로도 볼 수 있지만 '음료라는 특성'으로도 볼 수 있도록 만드는 것이 '다형성'의 개념입니다 이를 코틀린 코드로 살펴보자면 음료라는 클래스(Drink)와 이를 상속받은 콜라라는 클래스(Cola)가 있습니다 이때 콜라의 인스턴스를 만들 때는 상속관계에 있는 수퍼클래스인 음료를 담는 공간에 콜라를 담는 공간이 추가되어 추가됩니다 이렇게 만들어진 콜라의 인스턴스는 음료를 담는 변수에 저장하면 음료의 기능만 사용하게 되고 ( var a: Drink = Cola() ) 콜라를 담는 변수에 저장하면 콜라의 기능까지 모두 사용.. 더보기
[Kotlin] 익명객체와 옵저버 패턴 옵저버는 '이벤트가 일어나는 것을 감시'하는 감시자의 역할을 만듭니다 안드로이드에서는 키의 입력, 터치의 발생, 데이터의 수신 등 함수로 직접 요청하지 않았지만 시스템 또는 루틴에 의해서 발생하게 되는 동작들을 '이벤트'라고 부르며 이 이벤트가 발생할 때마다 '즉각적으로 처리'할 수 있도록 만드는 프로그래밍 패턴을 '옵저버 패턴' 이라고 부릅니다 옵저버 패턴을 구현할 때는 2개의 클래스가 필요합니다 하나는 이벤트를 수신하는 클래스(class A), 하나는 이벤트를 발생시키고 이를 알려주는 클래스(class B)입니다 각각의 클래스를 A, B 라고 두었을 때, B에서 이벤트가 발생할 때 A에 있는 이벤트를 처리하는 함수를 호출하여 알려줍니다 이때 B에서는 자신의 이벤트를 받을 수 있는 인터페이스를 만들어 .. 더보기