유랑하는 나그네의 갱생 기록

だけど素敵な明日を願っている -HANABI, Mr.children-

java 24

[Java] Lambda 훑어보기

Lambda Expressions? 람다 표현식은 Java 8에서 도입되었습니다. 함수형 프로그래밍 스타일을 Java에 도입하면서 코드를 간결, 명확하게 작성할 수 있도록 한 것이죠. 익명 함수(anonymous function)를 정의하는 방법으로 하나의 메서드를 간단하게 표현할 수 있습니다. 한 가지 예시를 들어 보여드리겠습니다. // 기존 익명 클래스 사용 방식 Comparator comparator = new Comparator() { @Override public int compare(Integer o1, Integer o2) { return o1.compareTo(o2); } }; 기존에는 익명 클래스를 사용하여 Comparator 인터페이스를 구현했지만, 람다식을 활용하면 다음과 같이 간결한..

Study/Java 2024.08.25

[Java] Java로 풀면 KMP를 써야하는 브론즈 문제가 있다?

관련 링크 : https://www.acmicpc.net/problem/16916  약 1년 전, 백준 스트릭을 유지하던 때가 있었습니다. 자바로 코테 준비를 시작한 지 얼마 안 됐기도 하고, 여러 가지 준비로 바빠서 가볍게 몸풀기로 푸려던 문제 중 하나였습니다. 간단하게 contains를 하면 되지 않을까 싶었지만? import java.io.*;import java.util.*;public class Main { //12:56- public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..

Study/Java 2024.08.18

[BOJ] 5373 큐빙 - Java

1. 문제 링크https://www.acmicpc.net/problem/5373 2. 문제 풀이 작년에 Java로 알고리즘을 본격적으로 시작하게 됐을 때 삼성 기출 위주로 스터디를 했습니다. 그때부터 눈여겨보던 문제였는데 A형 유형에 익숙해져서 구현 위주의 문제는 이제 마무리 지으려고 풀게 된 문제입니다. 구현이야 학부생부터 다른 언어 쓰면서도 다져온 것이니까 이제는 최적화를 중심으로 좀 더 심화된 알고리즘을 안 보고 코딩하는 연습을 해야겠습니다.  구현 쪽으로는 말이 좀 있는 문젠데 예전에 이 문제를 지나가면서 봤을 땐 배열만 어떻게 부분 복사만 하면 잘 될 거라 생각했습니다. 물론 풀진 않았지만. 전개도를 그리니까 삼성 기출에 들어있던 주사위 굴리기 문제가 생각났습니다. 풀면서 재밌었던 문제였는데 그..

etc./BOJ 2024.08.09

[Spring Boot] Properties Encryption

Properties 암호화의 중요성? 첫 번째 프로젝트 발표를 마쳤을 때, 그동안 했던 프로젝트를 GitLab에서 GitHub로 미러링 하는 과정에서 GitGuardian으로부터 메일이 왔었습니다. 외부로 공개되어서는 안 될 value가 노출이 되었던 겁니다. 첫 번째 프로젝트에서는 application.properties에 담겨있는 value들에 대해 암호화 처리를 하지 않았었죠.. 첫 프로젝트라 다들 어수선하기도 했고 미러링에 문제가 생기자 팀원 중 한 명이 properties 파일을 제거해 버렸습니다..  처음부터 properties에 대해 암호화를 적용시켰더라면 이러한 불상사를 막을 수 있었을 텐데..라는 생각이 들었습니다. 그래서? 두 번째 프로젝트부터는 인프라 세팅을 하면서 스켈레톤 프로젝트의..

Devlog/SpringBoot 2024.07.18

[Spring Boot] WebSocket 뜯어보기 - 0 (Prologue)

⚠︎ 주의 ⚠︎1. 코드에서 악취가 날 수도 있습니다.2. 작성자도 다시 꺼내보기 어려운, 오래전에 작성한 코드입니다. (3년 전)3. "어? 이거 어디서 본 코드 같은데" 네, 맞습니다.Prologue 안녕하세요. 포트폴리오 만들 겸 경험 정리할 겸 글을 쓰게 되었습니다. 저는 어쩌다 보니 프로젝트 3개를 진행하면서 전부 웹소켓을 담당했습니다. 이전 플젝의 리팩터링은 생각지도 못했고 새로운 프로젝트를 진행할 때 조금씩 변형만 했습니다. 이제 와서 제 코드를 살짝 들춰보니 무슨 괴물을 만들어냈는지 모르겠습니다..그래서? 그래도 그때 나름대로 회의하면서 "이렇게하면 성능 최적화가 되는 건가?"하고 구현만 했었는데 .. 성능 테스트도 못했고 만족스러운 결과도 얻지 못했습니다. 그래서! 이 시리즈는 ... 총..

Devlog/SpringBoot 2024.07.13

[BOJ] 2293 동전 1 - Java

1. 문제 링크 https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 2. 문제 풀이 DP 문제를 좀 많이 풀어보고 싶어서 얼마 전부터 풀기 시작했습니다. 하지만?? 피보나치를 벗어나는 점화식을 만들어내는 건 아직 힘들더라구요. 처음엔 DP 문제가 아닌 줄 알았지만 시간제한이 0.5초라 브루트포스..같은 건 안될 거 같습니다. 동전의 구성은 같지만 순서만 다른 경우가 생기는데 그동안 만들어낸 조합들을 어떻게 하나하나 체크를 다 하겠어요.. 그러니 이 ..

etc./BOJ 2023.06.06

[Java] 컬렉션 시간 복잡도

List 순서가 있는 데이터 집합. (데이터 중복 허용 o) Add Remove Get Contains Data Structure ArrayList O(1) O(n) O(1) O(n) Array LinkedList O(1) O(1) O(n) O(n) Linked List CopyonWriteArrayList O(n) O(n) O(1) O(n) Array Set 순서를 유지하지 않는 데이터 집합. (데이터 중복 허용 x) Add Contains Next Data Structure HashSet O(1) O(1) O(h/n) Hash Table LinkedHashSet O(1) O(1) O(1) Hash Table + Linked List EnumSet O(1) O(1) O(1) Bit Vector Tree..

Study/Java 2023.05.04

[Eclipse] 삼성 코딩테스트를 위한 연습 환경 만들기 (+단축키)

https://www.eclipse.org/downloads/ Eclipse Downloads | The Eclipse Foundation The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 415 open source projects, including runtimes, tools and frameworks. www.eclipse.org 이클립스는 학부생 이후 다시는 쓸 일이 없을 거라 생각했는데 쓰게 됐네요 ^^; 삼성 코테에서는.. Mac이 아닌 Windows를 쓴다는 점 .. 이클립스 IDE로 주어져서 인텔리제이를 못쓴다는 점 .. 인텔리제이를 못쓴다는 점 ... 인텔리제이를 못쓴다는 점 ..

Study/Java 2023.04.04

[BOJ] 21609 상어 중학교 - Java

1. 문제 링크 https://www.acmicpc.net/problem/21609 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 www.acmicpc.net 2. 문제 풀이 안녕하세요. 반례 찾을 때마다 시간을 엄청 날려버려서 또 찾아왔습니다. 이제는 그냥 문제 풀 때마다 글을 써야 할까 싶네요. 마침 애드센스도 승인됐고? 방문자도 많아지면? 억만장자의 길로 한 발자국 ... 은 무슨. 개발 블로그는 돈이 안됩니다. ^^; 개발 + 취미 + 일상으로 운영하면 괜찮긴 할 텐데 글쎄요.. 🧐 블로그가 주가 되면 안 될 거 같아요. 그냥..

etc./BOJ 2023.03.24

[BOJ] 17142 연구소 3 - Java

1. 문제 링크 https://www.acmicpc.net/problem/17142 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고 www.acmicpc.net 2. 문제 풀이 아니, 알고리즘 문제는 어차피 자기 자신이 풀어야 하는 거라서 사용되는 알고리즘 외에는 따로 해설은 필요 없다고 생각했습니다만. 어제오늘 너무 반례 때문에 화가 나서 도저히 안 되겠습니다. 이 문제는 좀 많이 혼나야 해요. 오죽하면 제가 평소에는 쓰지도 않던 반례 공유 게시글을 쓰겠냐구요. 내 삽질이 내 코드보다 가취치 있기를 ,,🤡 https://www.acmicpc.ne..

etc./BOJ 2023.03.09
320x100