반응형 공부55 Kotlin - 자연수 뒤집어 배열로 만들기 프로그래머스 코딩 연습 ( 17 ) 프로그래머스 문제 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다 n return 12345 [5,4,3,2,1] 코틀린 자연수 뒤집어 배열로 만들기 답 class Solution { fun solution(n: Long): IntArray = n.toString().reversed().map { e -> e.toString().toInt() }.toIntArray() } 코틀린 풀이 먼저 n.toString().reversed() 정수 n을 문자열로 변환한 후, 문자열을 뒤집습니다. . map { e -> e.toString().toInt() }각 문자를 순회하면서 문자열을 정수로 변환합니다. 이를 통해 각 자리.. 2023. 12. 6. Kotlin(코틀린) - 접근제한자 접근 제한자(Visibility Modifier)? 객체가 공개되어야 하는 범위를 정하는 역할을 하고 있습니다. 접근 제한자 종류? 코틀린에서는 private, protected, internal, public의 접근 제한자를 사용하고 있으며, 변수, 클래스 멤버 등의 참조 종류 설명 public 코틀린의 기본 접근 제한자로써, 어디에서나 접근할 수 있습니다. private 해당 파일(.kt) 또는 클래스 내에서만 접근 가능합니다. protected 상속받는 인터페이스, 클래스 또는 자식 클래스에서 만 접근이 가능합니다. internal 같은 모듈 내에서 어디서든 접근 가능하다. 모듈이란? 모듈은 일반적으로 관련된 코드 및 리소스를 그룹화한 단위를 나타냅니다. 모듈은 프로젝트 내에서 독립적으로 컴파일되고.. 2023. 12. 5. Kotlin - 약수의 합 프로그래머스 코딩 연습 (14) 프로그래머스 문제 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. n return 12 28 5 6 코틀린 약수의 합 답 class Solution { fun solution(n: Int): Int { var answer = 0 for(i in 1..n) { if( n % i == 0 ) { answer += i } } return answer } } 코틀린 풀이 answer 라는 변수를 0으로 초기화합니다. for문을 통해 i는 1부터 입력받은 n까지 순회하는 반복문을 실행합니다. 순회하는 i의 값이 약수인지 확인하기 위해서 입력받은 n을 i로 나눕니다. 나머지가 0이되면 i는 n의 약수입니다. 그 후 answer += i로 넘어와 현재 약수 i를 더합니.. 2023. 12. 3. Kotlin(코틀린) - 상속(inheritance) 상속 (inheritance) 상속은 클래스 간의 관계를 정의하고 부모 클래스의 특성을 자식 클래스에서 사용할 수 있도록 하거나, 클래스들의 공통점을 찾아낼 때 유용하게 사용할 수 있습니다. 상속은 객체 지향 프로그래밍의 중요한 개념 중 하나이며, 코드의 재사용성과 유연한 확장성을 높이는 데 기여합니다. 클래스 선언 안에서의 상속 코틀린에서 클래스 간의 상속은 클래스 선언 부분에서 : (콜론)을 사용하여 정의됩니다. 부모 클래스와 자식 클래스 간의 상속 관계를 형성하려면 자식 클래스 선언부에서 부모 클래스를 명시해야 합니다 // 부모 클래스 open class Animal(val name: String) { fun makeSound() { println("소리") } } // 자식 클래스 class Do.. 2023. 12. 1. Kotlin(코틀린) - 생성자(init, Constructor) 코틀린에서 생성자는 클래스의 인스턴스를 초기화하는데 사용되는 함수입니다. 코틀린에서는 주 생성자와 부 생성자(secondary constructor)로 나뉘며, 주 생성자는 클래스 헤더 부분에 선언되고, 부 생성자는 클래스 본문 부분에 선언됩니다 init 주로 클래스의 초기화 로직을 담당하는 특별한 종류의 함수입니다. 이 함수는 클래스가 생성될 때 호출되며, 주로 프로퍼티 초기화나 다른 초기화 코드를 담는 데 사용됩니다. init 함수는 주 생성자(Primary Constructor)의 일부로 정의되며, 클래스 내에 여러 개의 init 블록을 가질 수 있습니다 코틀린을 별도의 생성자 영역이 없기 때문에 init 영역에서 초기화해주어야 한다. class MyClass(name: String, age: In.. 2023. 12. 1. Kotlin(코틀린) - 생성자 클래스(Class) Class 란? 코틀린에서의 클래스는 객체지향 프로그래밍(OOP) 개념을 기반으로 하는 구조를 가지고 있으며, 객체를 만들 수 있도록 합니다. 코틀린의 클래스는 자바와 마찬가지로 기본 가시성이 public 입니다. 따라서 아래와 같이 선언해도 컴파일러는 위와 동일한 클래스 선언이라고 판단합니다. class MyClass { } public class MyClass { } // 위와 아래는 같은 클래스입니다. 코틀린에서 클래스를 정의하는 기본 문법입니다. 클래스의 프로퍼티 선언 class myClass { var name: String = "" var age: Int = 0 } 클래스 내부에는 프로퍼티를 선언할 수 있습니다. 프로퍼티는 클래스의 상태나 데이터를 나타냅니다 코틀린의 프로퍼티는 기본적으로 선언.. 2023. 11. 30. Kotlin(코틀린) - 콜렉션(Map, Set) Map 란? Key와 Value가 같이 들어가 저장되어 있는 데이터형 자료 구조입니다. Key를 통하여 Value에 접근할 수 있으며, 반대로 Value에 접근하여 Key값을 찾아 낼 수도 있습니다. 그리고 Key의 중복은 불가능하지만 Value의 중복은 허용하고 있습니다. mapOf() 오직 읽기만 가능한 Read-Only 형태를 가진 함수입니다. // var math = mapOf (7) //ERROR // println(math) //ERROR var clone = mapOf ("복사" to 7) //KEY : 복사 // 값 : 7 println(clone) mutableMapOf() 읽기와 쓰기가 가능한 형태를 가진 함수입니다. // var math = mapOf (7) //ERROR // pri.. 2023. 11. 30. Kotlin - 자릿수 더하기 프로그래머스 코딩 연습 (13) 프로그래머스 문제 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. N answer 123 6 987 24 코틀린 자릿수 더하기 답 class Solution { fun solution(n: Int): Int { var answer = 0 for(n1 in n.toString()) answer += n1.toString().toInt() return answer } } 풀이 먼저 answer라는 변수를 0으로 초기화 합니다. 정수 'n'을 받아 .toString으로 변환 받은 후, 그 문자를 하나씩 'n1'에 하나씩 대입하는 것을 반복합니다. 이렇게 되면 'n1'은.. 2023. 11. 29. Kotlin - 평균 구하기 프로그래머스 코딩 연습 (12) 프로그래머스 문제 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. arr return [1,2,3,4] 2.5 [5,5] 5 코틀린 답 답 class Solution { fun solution(arr: IntArray): Double { if (arr.isEmpty()) { return 0.0 } val sum = arr.sum() return sum.toDouble() / arr.size } } 답 class Solution { fun solution(arr: IntArray): Double { return arr.average() } } 풀이 1번 답 arr 라는 이름의 'IntArray'를 받으며, 'Double' 타입의 값을 반환합니다. arr이 비.. 2023. 11. 28. 이전 1 2 3 4 5 6 7 다음 728x90 반응형