
예외처리 코틀린에서 예외(Exception) 처리는 자바와 거의 비슷합니다. 함수는 예외를 던질 수 있으며, 해당 예외는 함수를 호출하는 쪽에서 그 예외를 잡아 처리할 수 있습니다. 발생한 예외를 함수를 호출하는 쪽에서 처리(catch) 하지 않으면 함수 호출 스택에 쌓이면서 예외를 처리하는 부분이 나올 때까지 예외를 다시 던지게(rethrow)된다. 즉 전파(propagation)가 됩니다. 예외 던지기 예외는 자바와 동일하게 throw 키워드를 사용하여 던질 수 있습니다. 다만 코틀린은 명시적으로 new 키워드를 쓰지 않아도 객체를 생성할 수 있기 때문에 다음과 같이 예외를 던질 수 있습니다. fun main() { val input = 102 val score = if (input in 0..100..

Bean 생명 주기 콜백 Bean은 Bean Scope에 따라 생성되고, 소멸됩니다. 목적에 따라 Bean이 생성될 때와 소멸되기 직전에 특정한 로직을 수행하여야 하는 일이 있을 수 있습니다. 그렇기 때문에 Spring은 다양한 방법으로 Bean의 생명 주기에 대한 콜백을 지정할 수 있는 방법을 크게 3가지 제공합니다. 1. 인터페이스 사용 Spring에서 초창기에 제공했던 방법으로 아래와 같은 단점을 가지고 있으므로 지금은 추천되지 않는 방법입니다. Bean이 생성되고 Bean 기본 설정이 끝난 후 호출될 콜백을 설정하고 싶다면 InitializingBean 인터페이스, Bean이 소멸되기 직전에 호출될 콜백을 설정하고 싶다면 DisposableBean 인터페이스를 상속받아 메서드를 구현하시면 됩니다...

프로그래머스 12938번 - 최고의 집합 요구사항 1. 자연수 n 개로 이루어진 중복 집합 중 최고의 집합을 오름차순으로 정렬하여 반환하라. 2. 자연수 n 개로 이루어진 중복 집합은 다음과 같다. 각 원소의 합이 S를 만족하는 집합 중 각 원소의 곱이 최대가 되는 집합을 중복 집합 중 최고의 집합이라고 한다. 요구사항 분석 및 풀이과정 1. 자연수 n이 s보다 클 경우, 자연수 n개로 이루어진 중복 집합의 합은 무조건 s를 넘기 때문에 최고의 집합이 존재하지 않는다. 2. 자연수 n개로 이루어진 중복 집합의 합이 s로 일정할 때, 중복 집합의 각 원소의 곱이 최대가 되기 위해서는 각 원소 간의 편차가 적어야 한다. 왜 그런지 궁금하다면 싶다면 산술-기하 평균 부등식을 알아보자. s가 n으로 나누어떨어지..

프로그래머스 17687번 - [3차]n진수 게임 요구사항 1. 숫자를 0부터 시작해서 차례대로 말하며, 10 이상의 숫자부터는 한 자리씩 끊어서 말한다. 2. 난이도를 올려 숫자를 n진수로 변환하여 한 숫자씩 말할 때, 튜브가 p번째 순서에 말해야 하는 숫자 t개를 공백 없이 차례대로 나타낸 문자열을 반환하라. (단, 10~15는 각각 대문자 A~F로 출력하라.) 요구사항 분석 및 풀이과정 1. 튜브가 p번째 순서부터 말해야 하는 숫자 t개를 미리 구하기 위하여, 그냥 전원(m명)이 t개씩 말할 때의 수들을 미리 모두 구합니다. 2. 1번에서 구한 경우에서 p번째 수(인덱스로는 p-1)부터, 다음 턴(전원 m명이 모두 말한 후)에 말할 수를 순차적으로 문자열로 출력하여주면 됩니다. 정수를 n진법으로 표현..

프로그래머스 12981번 - 영어 끝말잇기 요구사항 1. 영어 끝말잇기에서 가장 먼저 탈락하는 사람의 번호와 그 사람이 자신의 몇 번째 차례에 탈락하는지를 배열에 담아 반환하라. 2. 사람의 번호는 1번부터 시작합니다. 요구사항 분석 및 풀이과정 1. 정상적으로 끝말이 이어지는 지를 확인하기 위하여 이전 사람이 말한 영단어의 끝 문자를 기록합니다. 2-1. i번째 사람이 영단어를 말했을 경우 i-1번째 사람이 말한 영단어의 끝 문자와 내가 말한 영단어의 첫 문자가 같은지를 확인합니다. 2-2. 만약 다르다면 탈락이며, 가장 먼저 탈락하는 사람의 번호(i % n + 1), 자신의 몇 번째 차례(i / n + 1)를 배열에 담아 반환합니다. 2-3. 그렇지 않은 경우는 정상적인 끝말잇기이므로 다음 차례로 넘..
- Total
- Today
- Yesterday
- 회고
- dfs
- 구현
- k8s
- 정렬
- 비트연산
- 스트림
- 프로그래머스
- 쓰레드
- JPA
- dp
- 우선순위큐
- 오늘의집
- 알고리즘
- BFS
- Uber
- 해쉬
- 코드 스니펫
- sql
- 코딩인터뷰
- dsu
- 문자열
- 연결리스트
- 스택
- 탐욕법
- set
- Java
- TDD
- 카카오
- kotlin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |