Kotlin 126

[Kotln] 백준 2617 : 구슬 찾기 <Gold4>

https://www.acmicpc.net/problem/2617 2617번: 구슬 찾기 모양은 같으나, 무게가 모두 다른 N개의 구슬이 있다. N은 홀수이며, 구슬에는 번호가 1,2,...,N으로 붙어 있다. 이 구슬 중에서 무게가 전체의 중간인 (무게 순서로 (N+1)/2번째) 구슬을 찾기 위해서 www.acmicpc.net Code import java.io.BufferedReader import java.io.BufferedWriter import java.io.InputStreamReader import java.io.OutputStreamWriter var cntLTH = 0 var cntHTL = 0 fun main(args: Array) = with(BufferedReader(InputSt..

Bakejoon/Gold 2023.07.28

[Jetpack Compose] 폰트 적용법

안드로이드 어플을 개발하다보면 디자인이 참 중요하다. 사실 모든 프론트가 다 중요하다. 그중에서 큰 영향을 끼치는 것 중 하나가 폰트다. 예쁜디자인에 구린 폰트가 들어있는것만큼 화나는게 없다. 정말 모니터 한대 치고싶어지니까 비싼 모니터 부수기 전에 폰트 적용하는 법을 배워보자. 1. res폴더 내부에 font 폴더 만들기 res -> New -> Android Resource Director를 누르면 이상한 창이 하나 나올거다. Directory name을 font로 설정하고 Resource type도 font로 설정해주고 ok를 누른다. 2. 폴더에 원하는 폰트 파일 넣기 이때 중요한게 파일 이름이다. 반드시 소문자와 _(언더바)만 사용해야 한다. 어떻게 알았냐고? 알고싶지 않았다... 에러 나니까 ..

[Kotlin] Programmers 코딩 기초 트레이닝 CLEAR

드디어 programmers Lv.0 문제를 전부 다 풀었다. 생각하지도 못한 부분에서 문제를 많이 발견할 수 있었다. 쉬운 문제라고 얕보다가 큰코다친 경우가 많았다. 코틀린 문법을 잘 안다고 생각했는데 생각보다 내가 모르는 부분이 많았다. 이 기회에 복습한거 같은 느낌. 이제 Lv.0을 다 풀었으니까 Lv.1을 풀어보려고 한다. 근데 그 전에 백준 좀만 더 풀고... 깃허브에 내 랭크를 올려뒀는데 너무 부끄럽다. 보여주기식이라도 백준 랭크를 좀 올리고 프로그래머스를 해야겠다. 그티어에 잠이오냐?? 아 물론 앞으로 알고리즘 문제는 많이 안올라갈거다. 이것저것 준비하는게 있다보니 알고리즘보다는 안드로이드에 더 비중을 많이 두고있다. 그래서 개발을 더 많이 하고있고, 앞으로도 더 많이 할 것 같다. 하면서 ..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 25 이차원 리스트(배열)

정수를 나선형으로 배치하기 class Solution { val dir = arrayOf( arrayOf(0, 1, 0, -1), arrayOf(1, 0, -1, 0) ) fun solution(n: Int): Array { var answer: Array = arrayOf() for (i in 0 until n) { answer += IntArray(n) } var cnt = 1; var dirIdx = 0; var x = 0 var y = 0 while (cnt = n || y = n) && answer[x][y] == 0) { answer[x][y] = cnt++ x += dir[0][dirIdx] y += dir[1][dirIdx] } x -= dir[0][dirIdx] y -=..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 24 조건문 활용, 반복문 활용, 이차원 리스트(배열)

커피 심부름 class Solution { fun solution(order: Array): Int = order.count { it.contains("cafelatte") } * 5000 + (order.size - order.count { it.contains("cafelatte") })*4500 } 그림 확대 class Solution { fun solution(picture: Array, k: Int): Array { var result = arrayOf() for (i in picture){ var temp = "" for (j in 0 until i.length){ repeat(k){ temp += i[j] } } repeat(k){ result = result.plus(temp) } } re..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 23 조건문 활용

부분 문자열 class Solution { fun solution(str1: String, str2: String): Int = if (str2.contains(str1)) 1 else 0 } 꼬리 문자열 class Solution { fun solution(str_list: Array, ex: String): String = str_list.filter { !it.contains(ex) }.joinToString("") } 정수 찾기 class Solution { fun solution(num_list: IntArray, n: Int): Int = if (num_list.contains(n)) 1 else 0 } 주사위 게임 1 import kotlin.math.abs class Solution { f..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 22 함수(메서드)

0 떼기 fun solution(n_str: String): String { var result = n_str while (result.startsWith('0')){ result = result.slice(1 until result.length) } return result } //fun solution(n_str: String): String = n_str.toInt().toString() 두 수의 합 class Solution { fun solution(a: String, b: String): String = "${a.toBigInteger() + b.toBigInteger()}" } 문자열로 변환 class Solution { fun solution(n: Int): String = n.toStri..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 21 함수(메서드)

뒤에서 5등 위로 class Solution { fun solution(num_list: IntArray): IntArray = num_list.sorted().slice(5 until num_list.size).toIntArray() } 전국 대회 선발 고사 class Solution { fun solution(rank: IntArray, attendance: BooleanArray): Int { var result = intArrayOf() for (i in 0 until rank.size){ if (attendance[i]) result = result.plus(rank[i]) } result.sort() return rank.indexOf(result[0]) * 10000 + rank.indexO..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 20 함수(메서드)

배열의 길이를 2의 거듭제곱으로 만들기 class Solution { fun solution(arr: IntArray): IntArray { var answer: IntArray = arr repeat(getNum(arr.size)){ answer = answer.plus(0) } return answer } fun getNum(size: Int): Int{ var two = intArrayOf(1, 2, 4, 8, 16, 32, 64, 128, 256, 512) two.forEach { if (it >= size) return it - size } return 1024 - size } } /* fun solution(arr: IntArray): IntArray { val size = arr.size v..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 19 문자열, 리스트(배열)

세 개의 구분자 class Solution { fun solution(myStr: String): Array = myStr .split(Regex("[abc]")) .filterNot { it.isEmpty() } .ifEmpty { listOf("EMPTY") } .toTypedArray() } 배열의 원소만큼 추가하기 class Solution { fun solution(arr: IntArray): IntArray { var result = intArrayOf() arr.map { num -> repeat(num){ result = result.plus(num) } } return result } } 빈 배열에 추가, 삭제하기 import java.util.Stack class Solution { f..