본문 바로가기
  • 개발하는 곰돌이

전체 글221

[Kotlin] 백준 1850 : 최대공약수 문제 링크 1850번: 최대공약수 모든 자리가 1로만 이루어져있는 두 자연수 A와 B가 주어진다. 이때, A와 B의 최대 공약수를 구하는 프로그램을 작성하시오. 예를 들어, A가 111이고, B가 1111인 경우에 A와 B의 최대공약수는 1이고, A www.acmicpc.net 문제 해설 모든 자리가 1로 이루어진 두 수의 최대 공약수를 구해야 한다. 우선 모든 자리가 1로 이루어진 수가 어떻게 구성되는지 보자. \(1111\)의 경우에는 다음과 같이 나눌 수 있다. $$1111=11\times 101$$ 또 다른 수인 \(111111\)은 다음과 같이 나눌 수 있다. $$\begin{align*}111111&=11\times 10101\\&=111\times 1001\end{align*}$$ 자세히 보.. 2023. 11. 11.
[IntelliJ] 스프링부트 프로젝트의 클래스 또는 리소스 수정 후 자동으로 재시작하기 이클립스에서 인텔리제이로 IDE를 갈아탄 이후 가장 불편했던 점이 로컬에서 인텔리제이를 통해 프로젝트가 실행 중인 상태에서 클래스나 리소스를 수정했을 때마다 프로젝트를 수동으로 재시작해야 했던 점이다. 그러던 중에 인텔리제이에서도 스프링부트 프로젝트의 클래스나 리소스를 수정했을 때 자동으로 프로젝트를 재시작해주는 기능이 있다는 것을 알게 되어 정리하려고 한다. 본 글은 IntelliJ IDEA 2023.2.4 Ultimate Edition + Gradle 기준으로 작성되었습니다. 의존성 추가 build.gradle에 아래 의존성을 추가한다. developmentOnly 'org.springframework.boot:spring-boot-devtools' Run/Debug Configurations 설정 .. 2023. 11. 2.
[Kotlin] 백준 30036 : INK 문제 링크 30036번: INK 첫 번째 줄에 정수 $I$, $N$, $K$가 공백으로 구분되어 주어진다. $(1 \le I, N, K \le 100)$ 두 번째 줄에는 잉크 문자열이 주어진다. 세 번째 줄부터 $N$개의 줄에 걸쳐 $N \times N$ 크기의 스테이지가 주어진 www.acmicpc.net 문제 해설 특별한 알고리즘이 필요하지 않은 단순 구현 문제. 우선 스테이지를 입력받으면서 하얀 사각형의 현재 위치를 저장하고 충전된 잉크의 양과 현재 색상의 순서를 저장할 변수를 선언한다. 이때 하얀 사각형의 현재 위치인 @는 이후 구현을 편하게 하기 위해 .으로 치환해준다. 이후 문제의 조건을 차례대로 구현해보자. UDLR : 스테이지를 벗어나지 않는 범위 내에서, 스테이지의 목적지 값이 .인 경우.. 2023. 10. 25.
[Kotlin] 백준 3447 : 버그왕 문제 링크 3447번: 버그왕 입력은 여러 줄의 소스 코드로 이루어져 있다. 이 소스 코드는 백준이가 작성한 버그를 찾는 프로그램으로 이미 처리가 되어있다. 각 줄은 100글자 이내이고, 입력은 파일이 끝날 때 끝난다. 줄의 www.acmicpc.net 문제 해설 주어진 입력에서 BUG라는 문자열을 모두 제거하면 된다. 우선 입력을 EOF까지 받기 때문에 아래와 같은 형태처럼 입력이 null이 아닐 때까지 입력받는 반복문으로 처리해야 한다. var s: String? while (readLine().also { s = it } != null) { ... } BUG라는 문자열을 모두 제거하기 위해 단순히 replace()로 처리하면 되긴 하지만 출력 설명의 예시를 잘 주목해야 한다. 즉, 입력으로 주어진 .. 2023. 10. 14.
[Spring Boot] H2 DB Embedded Mode 사용하기 목차 들어가기 전에 H2는 굉장히 작고 가벼운 RDBMS로, 그 특성상 제공되는 기능은 제한적이지만 속도가 빠르고 별도의 프로그램 없이 웹브라우저 기반의 DB 콘솔을 사용할 수 있다는 장점도 있다. 이러한 특징으로 인해 다양한 기능이 필요하지 않은 소규모 서비스나 단위 테스트에서 많이 사용된다. H2는 별도의 엔진을 설치하지 않고 사용할 수 있는 In-memory Mode와 Embedded Mode를 지원하는데 이 글에서는 Embedded 방식을 사용하는 방법과 In-memory 방식과의 차이에 대해 정리하려고 한다. H2의 여러 모드들이 갖는 특징 H2는 Server Mode, In-memory Mode, Embeded Mode라는 세가지 방식으로 사용할 수 있다. 각 방식의 특징은 다음과 같다. Se.. 2023. 10. 4.
[회고록] 입사 1년차 돌아보기 목차 어느새 입사한 지 1년이 지났다. 뭔가 정신없이 시간이 지난 것 같은데 그동안 무슨 일이 있었는지는 정리해 두는게 좋을 것 같아서 회고록을 써보려고 한다. 회사 생활 입사 후 가장 처음 맡은 프로젝트는 회사에서 제공하는 다양한 서비스 이용 내역을 하나로 모아서 확인할 수 있는 통합 정산 시스템 개발이었다. 기존에는 사측에서 B2B로 제공하는 서비스마다 별도의 관리 페이지가 있어서 회계팀이 각 서비스의 관리 페이지에서 이용내역을 확인하고 직접 메일을 작성하여 이용기관에 청구 메일을 발송하는 불편함이 있었다. 이렇게 분산된 서비스 정산을 하나로 합쳐서 사내에서도 편리하게 정산과 이용 내역에 따라 자동으로 작성된 메일로 요금 청구를 진행하고, 이용기관에서도 자신들이 이용하는 서비스의 이용 내역을 한 번에.. 2023. 9. 22.
[Kotlin] 백준 21944 : 문제 추천 시스템 Version 2 문제 링크 21944번: 문제 추천 시스템 Version 2 recommend, recommend2, recommend3 명령이 주어질 때마다 문제 번호를 한 줄씩 출력한다. 주어지는 recommend, recommend2, recommend3 명령어의 총 개수는 최소 1개 이상이다. www.acmicpc.net 문제 해설 [Kotlin] 백준 21939 : 문제 추천 시스템 Version 1의 확장 문제. Version 1에서 알고리즘 분류를 비롯하여 추천 명령어 2종류가 추가되었다. 이전 문제와 달리 문제를 객체로 구현하였다. 이 때 문제 클래스는 난이도가 높은 순으로, 난이도가 같다면 문제 번호가 큰 순으로 정렬되도록 Comparable을 구현하여 작성한다. private class Problem(.. 2023. 9. 13.
뒤늦은 스위치 구매! 월급날 기념으로 퇴근하자마자 신도림에 가서 드디어 젤다 / 마리오 머신(?)이랑 겸사겸사 집에서 제대로 즐기려고 프로콘까지 샀습니다. 스플래툰3는 전혀 모르지만 에디션이 이뻐보여서 샀는데 생각보다 더 이쁜거 같네요. 일단 야숨부터 스타트! 2023. 9. 8.