본문 바로가기

전체 글1042

[자바] 백준 3089 - 네잎 클로버를 찾아서 (java) 목차 문제 : boj3089 필요 알고리즘 매개변수 탐색(Parametric Search), 이분탐색, 정렬 2차원에 대한 매개변수 탐색(이분탐색 응용)으로 풀 수 있는 문제이다. 이걸 위해 정렬이 필요하다. 시뮬레이션 M개의 명령에 대해 시뮬레이션을 돌려봐야 최종 결과를 알 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 R, L, U, D 각각의 명령에 대해 필요한 동작은 다음과 같다. R : 동일 Y축에서 우측.. 2024. 2. 22.
[자바] 백준 1309 - 동물원 (java) 목차 문제 : boj1309 필요 알고리즘 DP (동적계획법, 다이나믹 프로그래밍) 기본적인 형태의 DP 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 Nx2 칸으로 동물원이 구성된다. N칸의 세로는 우선 생각하지 말고, 2칸인 가로칸의 존재 가능한 상태를 생각해보자. 다음과 같이 4가지 종류로 존재 가능하다. 다만 이 중 (d)는 가로로 붙어 있게 배치할 수 없다고 하였으므로 불가하여 (a)~(c)의 3가지만 이.. 2024. 2. 21.
Map에 mybatis의 map-underscore-to-camel-case가 안먹히는 이유를 알아보자 관련된 질문을 받아 이유를 찾아보기 위해 mybatis 소스를 까보게 되었다. 찾아본김에 혹시 궁금할 사람도 있을 것 같아 어느 부분에 의해 Map을 사용 시 map-underscore-to-camel-case 옵션이 안먹히는지 공유하려고 한다. map-underscore-to-camel-case 사용 이유 테이블의 칼럼명이 phone_number 이런식으로 언더바가 들어간 형태로 되어 있는 경우가 있다. 이걸 받기 위해 dto의 변수도 'String phone_number;' 처럼 언더바가 들어간 형태로 가자니 자바의 기본적인 카멜 케이스 형태랑 안맞아서 멋없다. setter도 'setPHONE_NUMBER' 이런식으로 들어가야하니 더더욱 멋없다. 그래서 String phoneNumber; / setP.. 2024. 2. 21.
[자바] 백준 7588 - Amicable (java) 목차 문제 : boj7588 필요 알고리즘 수학, 정수론 약수 구하는 것과 관련된 정수론 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 N이 최대 백만이고, 테스트케이스가 존재한다. 따라서 미리 백만까지의 모든 Amicable 쌍을 구해둔 후, 각 테스트케이스마다 알맞게 출력해주면 된다. 여기서 구현이 필요한 부분은 결국 어떠한 수가 주어졌을 때, 그 수의 모든 제수의 합을 구하는 녀석이 필요하다. 이 때, 주어진.. 2024. 2. 19.
[세미나] 디버깅, 이슈 해결 생각 과정 예시, 자바 call by value에 대해 세미나 진행했던 pdf 입니다. - 기본적인 디버깅 방법 - 이슈 해결 생각과정 예시 - 자바 call by value와 관련된 생각할만한 부분 에 대해 다룹니다. ppt의 우측 상단 '새 탭에서 보기' 를 누르시면 크게보거나 pdf를 다운받아 보실 수 있습니다. 2024. 1. 29.
[Study 016] 자바 병렬 프로그래밍 스터디 주제 자바 병렬 프로그래밍을 읽고 매주 모여서 토론 및 질문 참가자 https://github.com/nahwasa https://github.com/ohgillwhan https://github.com/woogiekim https://github.com/K-jun98 일정 (완료) 1주차 2023-12-17 : 1장, 2장 (개요, 스레드 안정성) 2주차 2023-12-31 : 3장, 4장 (객체 공유, 객체 구성) 3주차 2024-01-14 : 5장, 6장 (구성 단위, 작업 실행) 4주차 2024-01-21 : 7장, 8장 (중단 및 종료, 스레드 풀 활용) 5주차 2024-01-28 : 9장, 10장 (GUI 애플리케이션, 활동성을 최대로 높이기) 6주차 2024-02-25 : 11장, 1.. 2024. 1. 23.
[Study 015] Clean Code (클린 코드) 스터디 주제 Clean Code(클린코드, 로버트 C. 마틴 지음)을 읽고 매주 모여서 토론 및 질문. 개인적으로 Study 004 에서도 클린코드를 했었는데, 그 때와 다른 분들과 다시한번 진행해서 좋았음. 그리고 확실히 Study 004 할때와 좀 느낌이 달랐던게, 아 다시보니 확실히 "참고만 해야지, 맹신하면 안되는 책이긴 하구나" 싶었음. 참가자 https://github.com/nahwasa https://github.com/ohgillwhan https://github.com/woogiekim https://github.com/K-jun98 일정 (완료) 1주차 2023-09-24 : 1장, 2장 (깨끗한 코드, 의미 있는 이름) 2주차 2023-10-15 : 3장, 4장 (함수, 주석) 3주.. 2024. 1. 23.
[Study 014] 도메인 주도 개발 시작하기 스터디 주제 도메인 주도 개발 시작하기(최범균 저)를 읽고 매주 모여서 토론 및 질문 참가자 4명 일정 (완료) 1주차 2023-06-26 : ~1장 2주차 2023-07-03 : 2장 3주차 2023-07-10 : 3장 4주차 2023-07-17 : 4장 5주차 2023-07-24 : 5장, 6장 6주차 2023-07-31 : 7장, 8장 7주차 2023-08-07 : 9장 8주차 2023-08-14 : 10장, 11장 2024. 1. 23.
[Study 013] 헤드퍼스트 디자인패턴 스터디 주제 헤드퍼스트 디자인패턴 (개정판. 에릭 프리먼, 엘리자베스 롭슨 저/서환수 역)을 읽고 매주 모여서 토론 및 질문. 참가자 https://github.com/nahwasa https://github.com/ohgillwhan https://github.com/woogiekim https://github.com/K-jun98 일정 (완료) 1주차 2023-06-11 : ~1장 (전략 패턴) 2주차 2023-06-18 : 11장 (프록시. 팀원이 프록시쪽 먼저 공부할 필요 있다고 해서 순서 바뀜) 3주차 2023-07-02 : 2장, 3장 (옵저버, 데코레이터) 4주차 2023-07-16 : 4장, 5장 (팩토리, 싱글턴) 5주차 2023-07-23 : 6장 (커맨드) 6주차 2023-07-30 .. 2024. 1. 23.
[Study 012] 객체지향의 사실과 오해 (객사오) 스터디 주제 객사오(조용호 저)를 읽고 매주 모여서 토론 및 질문. 일정 (완료) 1주차 2023-04-24 : 1, 2장 1장에 대한 토론만 1시간 반 가까이 진행되어 2장 토론은 다음주로 넘김 2주차 2023-05-02(화요일) : 2장(1주차 일정이었으나 1주차때 얘기 못해서 이어서 토론), 3장 3주차 2023-05-08 : 3~4장 (토론은 3장만 했음) 4주차 2023-05-15 : 4장 (스터디 때 토론이 길어져서 이후로 1장씩 나가는게 맞을듯함) 5주차 2023-05-22 : 5장 6주차 2023-05-30 : 5장 (5주차에 라이브코딩으로 TDD랑 객체지향 관련 설명해서 5장 못나갔으므로 그대로) 7주차 2023-06-05 : 6장 8주차 2023-06-12 : 7장 내용 정리 [객사오 .. 2024. 1. 23.