일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- Rxjava Observable
- rxjava hot observable
- android ar 개발
- 자바 다형성
- 클래스
- 안드로이드 유닛 테스트
- 서비스 쓰레드 차이
- 안드로이드 라이선스
- ar vr 차이
- 스택 자바 코드
- 안드로이드 레트로핏 crud
- 2022 플러터 설치
- 스택 큐 차이
- 큐 자바 코드
- ANR이란
- android retrofit login
- rxjava cold observable
- 안드로이드 유닛테스트란
- 객체
- rxjava disposable
- jvm 작동 원리
- 멤버변수
- 2022 플러터 안드로이드 스튜디오
- 안드로이드 유닛 테스트 예시
- 서비스 vs 쓰레드
- 안드로이드 레트로핏 사용법
- 플러터 설치 2022
- jvm이란
- 안드로이드 os 구조
- 안드로이드 라이선스 종류
- Today
- Total
목록2024/07 (27)
나만을 위한 블로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/3JkPN/btsIpVhNs97/kLPc3kLy8MIXmy3LGXD7Ak/img.png)
오름차순, 내림차순, 무작위로 배치된 숫자들 중 뭘 받냐에 따라 각각 다른 문자열을 리턴하면 된다. fun main() { val numbers = readln().split(" ").map { it.toInt() } var isAscending = true var isDescending = true for (i in 0.. numbers[i + 1]) { isAscending = false } } when { isAscending -> println("ascending") isDescending -> println("descending") else -> println("mixed") }} 오름차순..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lVJmh/btsIp7CiaP7/NTslkNmD1bklMUmZBqHJB1/img.png)
받은 문자열의 각 글자들이 앞의 숫자만큼 늘어나고 있다. 아래는 StringBuilder를 사용한 풀이다. fun main() { val T = readln().toInt() val sb = StringBuilder() repeat(T) { val target = readln().split(" ") val S = target[0].toInt() val R = target[1] R.map { c -> repeat(S) { sb.append(c) } } sb.append("\n") } println(sb.toString())} 출력을 보면 두..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/APUML/btsIo65wtyf/jbA9yqZce5tO0kvek4p6qk/img.png)
입력받은 문자열을 띄어쓰기 기준으로 split()한 다음, 빈 문자열을 제거하고 남은 리스트의 크기를 리턴하면 된다.빈 문자열을 필터링하는 로직이 없으면 통과가 되지 않으니 추가해 준다. fun main() { val a = readln().trim().split(" ").filter { it != "" } print(a.size)}
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/du9kjG/btsIqRFI2bu/vTb264MFgzbO2GzEGArKs1/img.png)
아래는 전체 코드다. fun main() { val t = readln().toInt() repeat(t) { val (h, w, n) = readln().split(" ").map { it.toInt() } val floor = if (n % h == 0) h else n % h val room = if (n % h == 0) n / h else n / h + 1 println("$floor${String.format("%02d", room)}") }} 문제의 조건은 아래와 같다. 각 층 왼쪽부터 차례대로 방이 있고 모두 비어있는 상태다손님은 1층부터 위쪽으로 방이 배정된다 (101 -> 201 -> 301 순)각 층이 모두 차면 그 다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cUugRR/btsIqNJ5VDp/tqDF1HsKmHRmUVAkAtUKt0/img.png)
시간과 분이 입력으로 주어지면 그 시간에서 45분 이전의 시간을 구해야 한다.우리가 시간을 계산할 때 어떻게 계산하는지를 생각해 본다. 10시 10분에서 45분 이전의 시간이 뭔지 질문받으면 분침을 뒤로 돌리는 상상을 하는 대신, 어떤 순서로 시간을 계산할까?먼저 10에서 45를 뺀다. 그러면 -35라는 음수가 나오는데, 음수인 시간은 존재하지 않기 때문에 앞에 있는 시간에서 60분을 가져온다.즉 10에서 1시간(60분)을 가져와서 -35에 더해 분을 구한다. 시간은 10 - 1 = 9가 되고, 결과적으로 9시 25분이라는 시간을 얻는다.그리고 2번째 입출력 예시를 보면 입력이 0시 30분인 경우 출력이 23시 45분이라 이 예외처리도 해야 한다. fun main() { var (hour, min)..
안드로이드 스튜디오 코알라에서 프로젝트를 기본 설정으로 생성하면 libs.versions.toml이란 파일이 생기는 걸 볼 수 있다.이 파일을 실행하면 편집기에 아래 내용이 표시된다. [versions]agp = "8.5.0"kotlin = "1.9.0"coreKtx = "1.13.1"junit = "4.13.2"junitVersion = "1.2.1"espressoCore = "3.6.1"lifecycleRuntimeKtx = "2.8.3"activityCompose = "1.9.0"composeBom = "2024.04.01"jetbrainsKotlinJvm = "1.9.0"appcompat = "1.7.0"material = "1.12.0"hilt = "2.48.1"orbit = "6.1.0"dat..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kRdI0/btsIqxglHZj/mnWggCAdk7pj9xke0SolXK/img.png)
조건에 맞춰서 합을 구한 다음 리턴하면 된다. class Solution { fun solution(board: Array, k: Int): Int { var sum = 0 for (i in board.indices) { for (j in board[i].indices) { if (i + j
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/n9cd3/btsIra53rqC/TyIUxHBh2fqSsHMeJvWPKK/img.png)
2차원 정수 배열 arr이 매개변수로 주어진다. arr의 행 수가 더 많으면 열 수가 행 수와 같아지게 각 행의 끝에 0을 추가하고, 열의 수가 더 많으면 행 수가 열 수와 같아지도록 각 열의 끝에 0을 추가한 2차원 배열을 리턴하는 함수를 완성하라 class Solution { fun solution(arr: Array): Array { val rows = arr.size val cols = arr[0].size if (rows > cols) { for (i in 0 until rows) { arr[i] = arr[i] + IntArray(rows - cols) } } else i..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/8WDd3/btsIqVBeuWa/rUkjciY4U1o5G5SGvE8sCK/img.png)
2차원 배열에서 [i][j]와 [j][i]가 같으면 1, 아니면 0을 리턴하게 하면 된다. class Solution { fun solution(arr: Array): Int { val n = arr.size for (i in 0 until n) { for (j in 0 until n) { if (arr[i][j] != arr[j][i]) { return 0 } } } return 1 }}
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qiO2h/btsIpfVxBhp/1FsLy7KZrvdXHHg0pEj1JK/img.png)
양의 정수 n이 매개변수로 주어진다. n x n 배열에 1부터 n^2까지 정수를 인덱스 [0][0]부터 시계방향 나선형으로 배치한 2차원 배열을 리턴하는 함수를 작성하라 class Solution { fun solution(n: Int): Array { val result = Array(n) { IntArray(n) } var value = 1 var x = 0 var y = 0 var direction = 0 val dx = arrayOf(0, 1, 0, -1) val dy = arrayOf(1, 0, -1, 0) while (value