백준 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 패턴은 사용할때 인스턴스가 생성된다. 하나의 인스턴스만 만들어진다.
object키워드로 만들 수 있다.
object Singleton {
var name: String = "Kotlin Singleton"
fun printName() {
println(name)
}
}
fun main(){
Singleton.printName() // Kotlin Singleton
}
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")
}
}