Programmers/Lv. 0 (完) 51

[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..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 18 문자열

x 사이의 개수 class Solution { fun solution(myString: String): IntArray = myString.split("x").map { it.length }.toIntArray() } 문자열 잘라서 정렬하기 class Solution { fun solution(myString: String): Array = myString.split("x").filterNot { it.isEmpty() }.sorted().toTypedArray() } 간단한 식 계산하기 class Solution { fun solution(myString: String): Int{ var sp = myString.split(" ") return when(sp[1]){ "+" -> sp[0].toInt(..

[Kotlin] Programmers 코딩 기초 트레이닝 Day 17 문자열

특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 class Solution { fun solution(myString: String, pat: String): String = myString.slice(0 until myString.length - myString.reversed().indexOf(pat.reversed())) } 문자열이 몇 번 등장하는지 세기 class Solution { fun solution(myString: String, pat: String): Int { var count = 0 for (i in 0 .. myString.length - pat.length) if (myString.slice(i until i + pat.length) == pat) count++ return c..