Kotlin

· Kotlin
0️⃣ 왜 switch문인데?조건문은 우리가 일반적으로 사용하는 if else 문과 switch문이 있다. 처음 코딩을 배울 때는 그냥 if else문만 쓰면 되는 걸 왜 번거롭게 또 switch문을 배워 사용해야되는지 몰랐다. 대충 이야기를 듣자하니 "switch문이 더 성능이 좋대" 였다. 손에 익어야 쓰지~ 라며 막연하게 if else문 위주로 사용하던 나였는데 어느날 switch문의 간편함을 깨닫고 '그래, 성능도 더 좋은 switch문을 써보자.' 라는 다짐과 함께 switch문을 익혔고 이제는 switch문이 조금 더 편해졌다. 그렇다면 구체적으로 왜 switch문이 더 좋은지 알아보겠다. 1️⃣ if else문부터 보자.fun lunch(점심메뉴) { if(점심메뉴 == "떡볶이"){ ..
· Kotlin
0️⃣ 객체지향프로그래밍? 클래스?코틀린은 자바와 같이 객체지향 프로그래밍을 언어인데, 이는 객체를 만들고 사용하며 적극 활용하는 언어임을 알 수 있다. 객체지향 프로그래밍은 OOP(Object Oriented Programming)이라고도 하며 모든 데이터를 Object, 즉 객체를 취급하여 처리하는 것이다. 그리고 이 객체는 속성과 메서드를 포함해야 하는데 이를 도와주는 것 설계도가 바로 클래스다. 클래스는 객체를 정의하는 틀 또는 설계를 의미하는데 좀 더 쉽게 설명하자면 붕어빵을 만들어내는 틀, 붕어빵 기계와 같다고 보면 된다. 고로 객체는 클래스를 인스턴스화한 데이터 덩어리를 의미하게 되고 객체와 클래스 인스턴스는 서로 바꾸어 사용할 수 있다. 객체지향 프로그래밍을 하려면 클래스를 잘 사용해야하며..
· Kotlin
⛔ 문제사항어김 없이 프로그래머스에서 코딩테스트 문제를 풀고 있는데 이러한 에러가 발생했다. IntArray 타입의 answer 배열에 add() 함수가 작동하지 않는 것이었다. ✅ 해결방안이는 array의 특징 때문인데, array는 정적 타입으로 사이즈가 고정되어 추가나 삭제가 불가능하기 때문에 add 함수가 작동하지 않는 것이었다. 나는 mutableListOf로 조작이 가능한 동적 배열로 재선언하여 문제를 해결했다. ❗출처참고 사이트 : https://withhamit.tistory.com/73 [Kotlin] List, MutableListKotlin은 변경 가능한 리스트와 변경 불가능한 리스트를 구분한다. 위와 같이 List 자료형을 쓰는 경우 add 함수를 사용할 수 없다.add 함수를 사용..
· Kotlin
❓ 문자열 내 마음대로 정렬하기문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 💡 풀이class Solution { fun solution(strings: Array, n: Int): Array { return strings.sortedWith( compareBy({ it[n] }, { it }) ).toTypedArray() }}strings 배열 안에 담긴 값을 비교하기 위해 다중조건을 통해 비..
· Kotlin
❓ 나누어 떨어지는 숫자 배열array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 💡 풀이class Solution { fun solution(arr: IntArray, divisor: Int): IntArray { var newArr = arr.filter{it%divisor == 0}.sorted().toIntArray() return if(newArr.size == 0) newArr.plus(-1) else newArr }} arr 안의 값들 중 divisor로 나누어지는 값들만..
· Kotlin
❓ 두 정수 사이의 합두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 💡 풀이class Solution { fun solution(a: Int, b: Int): Long { var sum: Long = 0; for(i: Int in Math.min(a, b)..Math.max(a, b)){ sum += i; } return sum; }}sum 값을 저장할 변수를 Long타입으로 선언한다.Math.min(a, b) / Math.max(a, b)로 a와 b 중 최소값..
· Kotlin
❓ 자연수 뒤집어 배열로 만들기자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 💡 풀이class Solution { fun solution(n: Long): IntArray { var stringArray = n.toString().reversed().toList(); return stringArray.map{e -> e.toString().toInt()}.toIntArray() }}n은 Long타입이기 때문에 String으로 변환한다.String으로 변환된 n을 뒤집고 음절 단위로 끊어 배열로 변환한다.이 때 toList()로 반환한 배열은 List 타입이다.변환한 배열을 ..
· Kotlin
❓ 자릿수 더하기자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 💡 풀이class Solution { fun solution(n: Int): Int { return n.toString().toCharArray().map{ it.toString().toInt() }.sum() }}n은 숫자형이기 때문에 각 자릿수에 접근하여 사용하기 위해 toString을 통해 문자열로 변환한다.변환한 문자열을 음절 단위로 분리하여 배열로 반환하는 toCharArray 메소드를 사용한다.반환된 배열 내부에서 map..
· Kotlin
❓ 제목각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요. 💡 풀이class Solution { fun solution(angle: Int): Int { return when (angle) { in 1..89-> 1 //예각 90 -> 2 //직각 in 91..179 -> 3 //둔각 180 -> 4 //평각 else -> 0 } }}예각, 직각,..
· Kotlin
❓ 짝수의 합정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요. 💡 풀이class Solution { fun solution(n: Int): Int { var answer: Int = 0 for(i:Int in 1..n){ if(i%2 == 0){ answer += i; } } return answer }}풀이는 비교적 간단하다. n만큼 반복문을 돌린다.반복문 내부에서 조건문을 통해 짝수만을 더해 값을 구하면 된다.1. for in (.. / until)fun example(n: Int){ for(i:Int in..
깨비도
'Kotlin' 카테고리의 글 목록