TIL #73

loci·2024년 7월 13일
0

TIL

목록 보기
70/111


백준 11718번
그대로 출력하기
입력받은 string을 그대로 출력하면된다.

요즘 백준을 처음 해보면서 입력받는 방법을 공부하는데 방법이 여러개라 헷갈린다.


나의코드

fun main(){
    val br = System.`in`.bufferedReader()
    while(true){
        val s = br.readLine() ?: break
        println(s)
    }
    
}


백준 11720번
숫자의 합
입력의 첫줄을 몇 개를 더해야하는지고 두번째줄의 숫자들을 더해주면 된다.


나의코드

fun main(){
    val br = System.`in`.bufferedReader()
    val n = br.readLine().toInt()
    val a = br.readLine()
    var temp = 0
    for(i in 0..n-1){
        temp += a[i].toString().toInt()
    }
    println(temp.toString())
}

Singleton Pattern

singleton 패턴은 사용할때 인스턴스가 생성된다. 하나의 인스턴스만 만들어진다.

만드는법

object키워드로 만들 수 있다.

object Singleton {
	var name: String = "Kotlin Singleton"
    
    fun printName() {
        println(name)
    }
}

fun main(){
	Singleton.printName() // Kotlin Singleton
}

companion object

object는 클래스 외부에서 선언되지만 companion object는 클래스 내부에서 선언된다.
compainon object가 있는 클래스는 객체를 생성할 수 있다.
상속 관계에서 companion멤버는 가려진다.
compainon이 있는 클래스에서 companion외에 선언된 속성과 함수는 똑같이 이전과 생성하면 된다.

class MyClass {
    companion object {
        var name: String = "Companion Object"

        fun printName() {
            println(name)
        }
    }

    fun print() {
        println("print")
    }
}
profile
편리한 개발자

0개의 댓글