Kotlin 88

TIL (03.20)

CodeKata 문제 시간초과로 아침까지 풀 예정 문제를 풀다가 kotlin에도 swap이 있나 찾아봤다. import java.util.* fun main(){ var a = 1 var b = 2 a = b.also { b = a } println(a) // 출력 2 println(b) // 출력 1 //------------------------------------------------------------- val nums = listOf(1, 2, 3, 4, 5) Collections.swap(nums, 1, 3) //import java.util.* println(nums) // 출력 [1, 4, 3, 2, 5] } Kotlin 문법 오늘 Kotlin In Action에서는 object내용 복..

Kotlin/TIL 2024.03.20

TIL (03.19)

CodeKata [프로그래머스_Kotlin] 개인정보 수집 유효기간 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 고 rlawog.tistory.com Android 입문 과제 완료 putExtra, getExtra로 값 넘기고 받기 Intent 사용/재정리 Kotlin - Intent 안드로이드 앱은 컴포넌트 기반의 구조인데, 이를 완성시켜 주는 것이 인텐트이다. 컴포넌트를 실행하기 위해 시스템에 전달하는 메세지 객체로 기능을 수행하는 함수를 제공하지 않고 데이터 rlawog.tistory.com

Kotlin/TIL 2024.03.19

TIL (03.18)

CodeKata [프로그래머스_Kotlin] 바탕화면 정리 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 코 rlawog.tistory.com coerceAtLeast / coerceAtMost 사용 Android 강의 1 - 3주차 완료 Kotlin 문법 키오스크 과제 관련 lv4 -5 코드 분석 강의 코드 분석 | Notion Lv4 ubiquitous-triangle-3a5.notion.site abstract 정리 return vs break 차이 정리

Kotlin/TIL 2024.03.18

TIL (03.15)

Kotlin 문법 Coerceln / CoerceAtMost / CoerceAtLeast SingleTon 패턴 (이해 더 필요) 둘다 개인노션에 정리 Android 뿌시기 Android - Firebase Storage에 사진 올리기 (1/2) 이번에는 게시글을 작성하고 작성한 게시글이 recyclerView를 통해 나타나게 하려고 한다. 생각한 게시글은 image 한 장과 게시글. 메인 화면에 floatingActionButton을 만들어주고 누르면 게시글을 작성하 rlawog.tistory.com 저번에 4번까지 진행하고 이번에 5번을 진행했다. 사진 등록하고 Firebase의 Storage에 올리는 것까지 완료 다음에 마무리 진행할 예정 키오스크 과제 해답이 나와서 처음부터 다시 따라써보고 있다...

Kotlin/TIL 2024.03.15

TIL (03.14)

CodeKata [프로그래머스_Kotlin] 성격 유형 검사하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 나 rlawog.tistory.com 알게된 내용 map함수의 getOrDefault(key,defaultValue) map에서 key에 해당하는 value를 가져오는데 만약 해당 key가 map에 존재하지 않을 때 가져올 기본 값을 정할 수 있는 메서드이다. val map = mutableMapOf("a" to 1, "b" to 2) println(map.getOrDefault("a",0)) //1 format fun main(){ val..

Kotlin/TIL 2024.03.14

Kotlin - 입력 예외처리

입력에 대해 찾아보니 입력을 받기 위해 표준 라이브러리에서 제공하는 readLine()과 readln()이 있다. 사용했을때 차이점이 나타난다. 간단하게 보면 readLine()은 null값을 허용하는 String?타입으로 반환하지만 readln()은 non-null 타입이다. fun main(){ val name: String = readln() if (name.isEmpty()){ println("잘못된 입력") }else { println(name) } } if문 사용 숫자를 입력할 때까지 무한반복해서 입력받기 fun main() { while(true){ try{ var num1 = readln().toInt() println(num1) break }catch (e:NumberFormatExcep..

Kotlin 2024.03.14

Koltin - 날짜 시간 출력

LocalDateTime 현재 날짜/시간 가져오기 import java.time.LocalDate import java.time.LocalDateTime fun main(){ //현재 val dateAndTime: LocalDateTime = LocalDateTime.now() //2024-03-14T16:18:29.907092600 //날짜 val onlyDate : LocalDate = LocalDate.now() //2024-03-14 //특정 날짜 출력 val lastYear = LocalDate.of(2023,3,14) //2023-03-14 //시간도 마찬가지 //LocalDateTime.of(2023, 3, 14, 10, 10, 10) } DateTimeFormatter 이미 정의된 형식으로..

Kotlin/문법 2024.03.14

TIL (03.13)

Kotlin 문법 정리 data class copy() 메서드 코루틴 코루틴(Coroutine) ? 이론 처음 들었을 때는 Kotlin에서 만들고 사용되는 기술이라고 생각했었다. 하지만 1958년에 코루틴 용어가 만들어지고 어셈블리 프로그램에서 적용되었으며 다른 다양한 프로그래밍 언어에서 rlawog.tistory.com 이론적으로 이해가 좀 힘들었다,, 빨리 Android로 사용겸 실습을 해봐야 더 이해가 될 것 같다. 좋은건 알겠는ㄴ데 지금은 왜 사용되는지 모르겠는 느낌 ? 키오스크 과제 월요일부터 하루에 lv1씩 진행해서 오늘 lv3까지 진행했다. codekata 시간 안에 못푼 알고리즘이 생각이 난다... 오래걸릴줄알고 껐는데 생각보다(?) 금방 풀었다. Android 뿌시기 게시물 올리기 단계에..

Kotlin/TIL 2024.03.13

코루틴(Coroutine) ?

이론 처음 들었을 때는 Kotlin에서 만들고 사용되는 기술이라고 생각했었다. 하지만 1958년에 코루틴 용어가 만들어지고 어셈블리 프로그램에서 적용되었으며 다른 다양한 프로그래밍 언어에서 지원한다고한다. 찾아보면서 출력 시간 지연할 때 사용했었나 했지만 그건 스레드였다... 코루틴은 "실행의 지연과 재개를 허용함으로써, 비선점적 멀티태스킹을 위한 서브 루틴을 일반화한 컴퓨터 프로그램 구성요소" 라고 한다. 비선점적 ? 하나의 프로세스가 cpu를 할당받으면 종료되기 전까지 다른 프로레스를 강제로 차지할 수 없다. 루틴 ? 프로그래밍에서 루틴은 프로그램의 흐름을 추상적으로 일컫는 말이다. 프로그램은 메인 루틴과 서브 루틴으로 나뉜다. 예를 들어 main함수에 의해 수행되는 프로그램의 흐름을 메인 루틴이라고..

Kotlin/문법 2024.03.13

Kotlin - Pair, Triple

함수는 1개의 객체를 리턴한다. 과제를 진행하다가 2개 이상 리턴은 불가능한가 찾아보다가 알게되었다. Pair의 경우 2개의 값을 리턴하고 Triple의 경우 3개의 객체를 리턴할 수 있다. Pair 사용법 val pair1 = Pair("Hello", "World") val pair2 = Pair("Hello", 1234) val pair1 = Pair("hi", "hello") val pair2 = Pair("hi", 1234) val pair = Pair("hi", 1) System.out.println(pair.first) // hi System.out.println(pair.second) // 1 open fun select(): Pair { val pair = Pair("hi", 1) retu..

Kotlin/문법 2024.03.13