전체 글 211

[Kotlin] 백준 2866번 : 문자열 잘라내기 <Gold 5>

https://www.acmicpc.net/problem/2866 2866번: 문자열 잘라내기 첫 번째 줄에는 테이블의 행의 개수와 열의 개수인 R과 C가 주어진다. (2 ≤ R, C ≤ 1000) 이후 R줄에 걸쳐서 C개의 알파벳 소문자가 주어진다. 가장 처음에 주어지는 테이블에는 열을 읽어서 문자 www.acmicpc.net Code import java.io.BufferedReader import java.io.BufferedWriter import java.io.InputStreamReader import java.io.OutputStreamWriter fun main(args: Array) = with(BufferedReader(InputStreamReader(System.`in`))){ val..

Bakejoon/Gold 2023.03.11

[Kotlin] 백준 2225번 : 합분해 <Gold 5>

https://www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net Code import java.io.BufferedReader import java.io.BufferedWriter import java.io.InputStreamReader import java.io.OutputStreamWriter const val MOD = 1000000000 fun main(args: Array) = with(BufferedReader(InputStreamReader(System.`in`))){ val bw = BufferedWriter(OutputStreamWriter(System.out)) va..

Bakejoon/Gold 2023.02.17

[Compose 기본사항] Compose에서의 상태

Jetpack Compose의 상태 | Android Developers 이 Codelab에서는 상태를 관리하여 다양한 기능의 대화형 Compose 애플리케이션을 빌드하는 방법을 알아봅니다. developer.android.com GitHub - chattymin/KotlinStudy Contribute to chattymin/KotlinStudy development by creating an account on GitHub. github.com 아래 코드 외에도 추가로 해야하는 설정들이 많습니다. 제 깃허브에서 확인하시면 편리하실거에요 :) package com.example.basicstatecodelab import android.os.Bundle import androidx.activity.Co..

[Kotlin] companion object

코틀린에는 static이 없다. 자바를 쓰던 사람들에게는 놀라운 소리일 것이다. 나 또한 그랬고. 그럼 어떻게 static을 쓸까? companion object를 활용해서 static을 사용한다. companion object의 블럭 내부에 값을 넣어준다면 해당 값들이 static처럼 사용된다. class Test { companion object{ var age = 10 val number = 20 const val num = 30 fun sayHi() = println("hi") } } 이와 같이 사용할 수 있다. 각각의 값들은 static으로 선언되고, 어디에서나 사용할 수 있다. 일종의 싱글톤이 되는 것이다. 그렇기 때문에 하나의 클래스에는 하나의 companion object만이 생성될 수 있..

[Compose 기본사항] Compose의 기본 레이아웃

Compose의 기본 레이아웃 | Android Developers 이 Codelab에서는 Compose에서 즉시 제공되는 컴포저블과 수정자를 통해 실제 디자인을 구현하는 방법을 알아봅니다. developer.android.com GitHub - chattymin/KotlinStudy Contribute to chattymin/KotlinStudy development by creating an account on GitHub. github.com /* * Copyright 2022 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this fi..

[Compose 기본사항] 첫 번째 Compose 앱 만들기

Jetpack Compose 기초 | Android Developers 이 Codelab에서는 Compose의 기본사항을 알아봅니다. developer.android.com 아래에 있는 코드 외에 수정해야할 사항들이 많습니다. 해당 프로젝트를 제 Git에 저장해두었으니 변경사항들을 확인하시며 공부하시면 도움이 될거 같네요 :) GitHub - chattymin/KotlinStudy Contribute to chattymin/KotlinStudy development by creating an account on GitHub. github.com package com.example.developersmaterial3 import android.content.res.Configuration.UI_MODE_N..

[Jetpack Compose] Box

Box 이전에 배운 Column과 Row는 LinearLayout에 속한다. 하지만 Box는 FrameLayout계층이다. 그렇기 때문에 중복되게 표현해주는 특징으로 인해 한개의 Box에 여러개의 텍스트를 넣어주게 되면 겹쳐서 나타나게 된다. class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Box(){ Text("Hello") Text("ABCDEFGHIJKLMNOP") } } } } 이처럼 하나의 박스 내부에 2개 이상의 텍스트를 넣어주게 되면 겹쳐서 출력된다. 이를 해결하는 방법은 Box의 활용..

[Jetpack Compose] Composable, Preview

Android Studio에서 컴포즈를 활용하는 프로젝트를 생성한다면 아래와 같은 코드가 기본으로 적혀있을 것이다 . class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { MyFirstComposeApplicationTheme { // A surface container using the 'background' color from the theme Surface(color = MaterialTheme.colors.background) { Greeting("Android") } } } } } @Compos..