분류 전체보기
-
코틀린에서 배열과 컬렉션을 다루는 방법 Kotlin은 안드로이드 개발에 매우 인기있는 언어이며, 그 유용성은 백엔드 개발에도 확장된다. 오늘은 Kotlin 에서 배열과 컬렉션을 다루는 방법에 대해 알아보자. 배열 다루기 Kotlin에서 배열을 사용하는 방법은 Java와는 다소 다르다. 아래 순서대로 Java 코드와 Kotlin 코드이다. public class Lecture15 { public static void main(String[] args) { int[] array = {100, 200}; for (int i = 0; i < array.length; i++) { System.out.printf("%s %s", i, array[i]); } } } fun main() { val array = arr..
Study About Kotlin 8코틀린에서 배열과 컬렉션을 다루는 방법 Kotlin은 안드로이드 개발에 매우 인기있는 언어이며, 그 유용성은 백엔드 개발에도 확장된다. 오늘은 Kotlin 에서 배열과 컬렉션을 다루는 방법에 대해 알아보자. 배열 다루기 Kotlin에서 배열을 사용하는 방법은 Java와는 다소 다르다. 아래 순서대로 Java 코드와 Kotlin 코드이다. public class Lecture15 { public static void main(String[] args) { int[] array = {100, 200}; for (int i = 0; i < array.length; i++) { System.out.printf("%s %s", i, array[i]); } } } fun main() { val array = arr..
2024.03.28 -
프로그래머스 Lv.1 정답률 낮은 순부터 풀어보고 있는데 그 이상한 카카오톡 선물하기 보다는 이 문제가 훨씬 쉽게 느껴졌다. 문제를 보기 편해서 그런가..? 이 문제는 공격 시간과 그 전 공격 시간 사이의 간격만 잘 파악하면 쉽게 풀 수 있는 문제였다. 먼저 이전 공격시간과 공격시간의 차이가 1초이면 회복을 할 수 없다는 점이 문제 푸는데 나름 함정이라면 함정이라고 할 수 있었다. 그 부분을 빼면 거의 대부분의 분들이 어렵지 않게 풀 수 있을 것이다. class Solution { public int solution(int[] bandage, int health, int[][] attacks) { int casting = bandage[0]; int heal = bandage[1]; int bonusHe..
프로그래머스 - 붕대 감기프로그래머스 Lv.1 정답률 낮은 순부터 풀어보고 있는데 그 이상한 카카오톡 선물하기 보다는 이 문제가 훨씬 쉽게 느껴졌다. 문제를 보기 편해서 그런가..? 이 문제는 공격 시간과 그 전 공격 시간 사이의 간격만 잘 파악하면 쉽게 풀 수 있는 문제였다. 먼저 이전 공격시간과 공격시간의 차이가 1초이면 회복을 할 수 없다는 점이 문제 푸는데 나름 함정이라면 함정이라고 할 수 있었다. 그 부분을 빼면 거의 대부분의 분들이 어렵지 않게 풀 수 있을 것이다. class Solution { public int solution(int[] bandage, int health, int[][] attacks) { int casting = bandage[0]; int heal = bandage[1]; int bonusHe..
2024.03.27 -
솔직히 처음 이 문제 보고 나서 도대체 카카오는 문제를 왜 이렇게 보기 힘들게 내지..? 라는 생각이 들었다. 문제가 뭔가 되게 복잡해보이고 길다..ㅎ 대충 선물을 받는데 가장 많이 받는 사람이 받는 개수를 구하라는 것. 고민에 고민을 하고 HashMap을 써보자! 했지만 어떤 방식으로 풀어야 하는지도 잘 모르겠었다. 그래서 다른 사람의 풀이도 봤지만... 다들 문제 보기가 힘들었지 막상 문제대로 코드를 작성하면 쉽게 풀린다고..말하네...? 그래서 내 나름 정리를 해보려고 올린다. 먼저 카카오 친구들의 이름과 인덱스를 저장할 HashMap을 만든 후 이름과 인덱스를 저장한다. HashMap names = new HashMap(); for(int i = 0; i < fLength; i++) { names..
프로그래머스 - 가장 많이 받은 선물솔직히 처음 이 문제 보고 나서 도대체 카카오는 문제를 왜 이렇게 보기 힘들게 내지..? 라는 생각이 들었다. 문제가 뭔가 되게 복잡해보이고 길다..ㅎ 대충 선물을 받는데 가장 많이 받는 사람이 받는 개수를 구하라는 것. 고민에 고민을 하고 HashMap을 써보자! 했지만 어떤 방식으로 풀어야 하는지도 잘 모르겠었다. 그래서 다른 사람의 풀이도 봤지만... 다들 문제 보기가 힘들었지 막상 문제대로 코드를 작성하면 쉽게 풀린다고..말하네...? 그래서 내 나름 정리를 해보려고 올린다. 먼저 카카오 친구들의 이름과 인덱스를 저장할 HashMap을 만든 후 이름과 인덱스를 저장한다. HashMap names = new HashMap(); for(int i = 0; i < fLength; i++) { names..
2024.03.27 -
내가 풀어보려 했던 방식은 반복문을 돌며 char를 뽑아내어 제일 처음에 와야하는 단어를 맨 앞자리에 위치시키는 것이었다. 선택정렬을 사용해보려고 했달까..? 근데 막상 해보니 char가 같을 때에 사전 순으로 배열을 하라는 것을 해결을 어떻게 해야하나 감이 오지 않았고 계속 고민을 하다 결국 인터넷의 힘을 빌려봤다. class Solution { public String[] solution(String[] strings, int n) { String[] answer = {}; for(int i = 0; i < strings.length; i++) { int min = 999; int index = 0; for(int j = i; j < strings.length; j++) { char now = str..
Char 순서대로 나열하기내가 풀어보려 했던 방식은 반복문을 돌며 char를 뽑아내어 제일 처음에 와야하는 단어를 맨 앞자리에 위치시키는 것이었다. 선택정렬을 사용해보려고 했달까..? 근데 막상 해보니 char가 같을 때에 사전 순으로 배열을 하라는 것을 해결을 어떻게 해야하나 감이 오지 않았고 계속 고민을 하다 결국 인터넷의 힘을 빌려봤다. class Solution { public String[] solution(String[] strings, int n) { String[] answer = {}; for(int i = 0; i < strings.length; i++) { int min = 999; int index = 0; for(int j = i; j < strings.length; j++) { char now = str..
2024.03.26 -
코틀린에서 중첩 클래스를 다루는 방법 중첩 클래스의 종류 Java 기준으로 중첩 클래스의 종류로는 static을 사용하는 중첩 클래스, 내부클래스, 지역클래스, 익명클래스 등이 있다. static을 사용하는 클래스는 외부에서 직접적으로 참조하지 못하는 반면 내부 클래스는 밖에서 클래스를 직접 참조가 가능하다. 따라서 클래스 내의 클래스를 만들 때에는 static을 활용하는 것을 권장한다. public class JavaHouse { private String address; private LivingRoom livingRoom; public JavaHouse(String address) { this.address = address; this.livingRoom = new LivingRoom(10); } ..
Study About Kotlin 7코틀린에서 중첩 클래스를 다루는 방법 중첩 클래스의 종류 Java 기준으로 중첩 클래스의 종류로는 static을 사용하는 중첩 클래스, 내부클래스, 지역클래스, 익명클래스 등이 있다. static을 사용하는 클래스는 외부에서 직접적으로 참조하지 못하는 반면 내부 클래스는 밖에서 클래스를 직접 참조가 가능하다. 따라서 클래스 내의 클래스를 만들 때에는 static을 활용하는 것을 권장한다. public class JavaHouse { private String address; private LivingRoom livingRoom; public JavaHouse(String address) { this.address = address; this.livingRoom = new LivingRoom(10); } ..
2024.03.26 -
Kotlin에서의 접근 제어 Java에는 4종류의 접근 지시어가 있다. public : 모든 곳에서 접근 가능 protected : 같은 패키지 또는 하위 클래스에서만 접근 가능 default : 같은 패키지에서만 접근 가능 (기본값) private : 선언된 클래스 내에서만 접근 가능 Kotlin에도 4종류의 접근 지시어가 있다. public : 모든 곳에서 접근 가능 (기본값) protected : 선언된 클래스 또는 하위 클래스에서만 접근 가능 internal : 같은 모듈에서만 접근 가능 private : 선언된 클래스 내에서만 접근 가능 * Kotlin에선 패키지를 namespaces를 관리하기 위한 용도로만 사용하고 가시성 제어에는 사용 X * 모듈 : 한 번에 컴파일되는 Kotlin 코드 K..
Study About Kotlin 6Kotlin에서의 접근 제어 Java에는 4종류의 접근 지시어가 있다. public : 모든 곳에서 접근 가능 protected : 같은 패키지 또는 하위 클래스에서만 접근 가능 default : 같은 패키지에서만 접근 가능 (기본값) private : 선언된 클래스 내에서만 접근 가능 Kotlin에도 4종류의 접근 지시어가 있다. public : 모든 곳에서 접근 가능 (기본값) protected : 선언된 클래스 또는 하위 클래스에서만 접근 가능 internal : 같은 모듈에서만 접근 가능 private : 선언된 클래스 내에서만 접근 가능 * Kotlin에선 패키지를 namespaces를 관리하기 위한 용도로만 사용하고 가시성 제어에는 사용 X * 모듈 : 한 번에 컴파일되는 Kotlin 코드 K..
2024.03.09 -
Kotlin의 Class 1. Class와 Property class Person1 constructor(name: String, age: Int) { val name: String = name var age: Int = age } // 위의 Class는 아래 Class로 변경할 수 있다. class Person2( val name: String, var age: Int ) { } 2. 생성자와 init init 블록은 클래스가 초기화되는 시점에 한 번 호출되기에 클래스가 생성되는 시점에 무언갈 검증하고 싶을 때 init을 활용하면 된다. 또한 생성자를 추가하고 싶으면 constructor를 아래 추가한 뒤에 사용하면 된다. 하지만 부 생성자보다는 default parameter를 추천한다. class ..
Study About Kotlin 5Kotlin의 Class 1. Class와 Property class Person1 constructor(name: String, age: Int) { val name: String = name var age: Int = age } // 위의 Class는 아래 Class로 변경할 수 있다. class Person2( val name: String, var age: Int ) { } 2. 생성자와 init init 블록은 클래스가 초기화되는 시점에 한 번 호출되기에 클래스가 생성되는 시점에 무언갈 검증하고 싶을 때 init을 활용하면 된다. 또한 생성자를 추가하고 싶으면 constructor를 아래 추가한 뒤에 사용하면 된다. 하지만 부 생성자보다는 default parameter를 추천한다. class ..
2024.02.28 -
Kotlin의 예외 처리 Kotlin의 예외 처리는 Java의 예외처리와 매우 유사하다. fun function1(str: String): Int { try { return str.toInt() } catch (e: NumberFormatException) { throw IllegalArgumentException("주어진 ${str}은 숫자가 아닙니다.") } } fun function2(str: String): Int? { return try { str.toInt() } catch (e: NumberFormatException) { null } } Java는 Unchecked Exception이 있으면 예외 처리를 해야한다는 표시로 빨간 줄이 뜨며 오류를 발생시킨다. 하지만 Kotlin은 그런 오류가..
Study About Kotlin 4Kotlin의 예외 처리 Kotlin의 예외 처리는 Java의 예외처리와 매우 유사하다. fun function1(str: String): Int { try { return str.toInt() } catch (e: NumberFormatException) { throw IllegalArgumentException("주어진 ${str}은 숫자가 아닙니다.") } } fun function2(str: String): Int? { return try { str.toInt() } catch (e: NumberFormatException) { null } } Java는 Unchecked Exception이 있으면 예외 처리를 해야한다는 표시로 빨간 줄이 뜨며 오류를 발생시킨다. 하지만 Kotlin은 그런 오류가..
2024.02.28