[백준] 두 배열의 합 - 2143 Java
·
PS/백준
백준의 두 배열의 합 문제를 풀어보았다.(Java) 구현에 사용한 알고리즘은 TwoPointer이다. TwoPointer에 대해 생소하여서 기존에 풀었던 기초라고 생각한 문제로 다시 풀어보았다. 이번 문제로 개념을 좀 잡은 것 같다. 작성한 코드는 아래와 같다. 두 배열의 부분합을 계산한 뒤 리스트에 넣고 정렬한다. 정렬한 리스트를 토대로 투 포인터를 사용하여 제시한 합과 동일한 부분합을 계산한다. package baekjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; impo..
[백준] 색종이 붙이기 - 17136 Java
·
PS/백준
백준의 색종이 붙이기 문제를 풀어보았다.(Java) 구현에 사용한 알고리즘은 Backtracking이다. 백트래킹 문제로 1x1, 2x2, 3x3, 4x4, 5x5로 이루어진 색종이 5개를 이용하여 1이 적힌 모든 칸을 색종이로 덮는 문제이다. BOJ1987 문제의 심화 버전인 것 같다. 5x5부터 비교하여 최대한 색종이를 적게 사용하도록 한다. 보드의 마지막에 도착하면 가장 작은 값을 초기화 한다. 작성한 코드는 아래와 같다. package baekjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BOJ17136 { static int[][] grid =..
정보처리기사 필기 합격!
·
개발 기록
정보처리기사 필기 합격을 했다!! 공부는 한 10일 정도한 것 같은데, 확실히 기출보다는 좀 어려웠던 것 같다. 그래서, 걱정했는데 점수가 꽤 잘나와서 만족스러웠다. 실기도 붙어야지.. 그리고 이번에 시킨 램이 도착해서 가상머신 세팅을 하고 VirtualBox 자체 쉘 사용이 조금 불편해서 MobaXterm으로 접속했다.
[회고록] 해보고 싶은 것들
·
개발 기록
학부연구생 생활을 하며 k8s, Apache Kafka, Apache Spark, 하둡 등 얕게나마 알게 되었다. Ceph(Object Storage)는 한국 모 연구소에서 받은 과제를 도와주며 깊게 알게 되었고, 관련하여 KSC 학부연구생 세션에 논문도 작성하여서 그래도 좀 알게 된 것 같다.(Object Storage 포함) 그 다음으로, 가장 흥미로웠던 것은 쿠버네티스였다. 개인적으로, 도커라는 것을 알았을 때 정말 신기했고 대단한 기술이라고 생각했는데 쿠버네티스를 사용하여 도커 이미지를 다양한 방법으로 다룰 수 있다는게 정말 재밌었다. 그래서, 좀 더 공부하고 싶어졌다. 인프런에서 관련 강의를 구입해서 보거나 책을 구입하여 좀 더 공부해보고 싶다. 그리고 가능하다면 조금 비싸지만 CKA 자격증도 ..
Spring + Redis + S3 + 이메일 인증 + Docker + CI/CD - 2
·
프로젝트/토이 프로젝트
변명으로 시작하자면.. 정보처리기사와 치과 때문에 토이 프로젝트에 진행이 빠르지 못했다.. 그래도 매일 매일 조금씩 진행한 Spring Boilerplate를 담고자 한다. JWT를 사용하여 Spring Boilerplate를 구현한건 처음이 아니지만, 늘 할 때마다 새롭고 난해한 것 같다. 그리고 요번에는 테스트 코드도 함께 작성하며 이해하고 진행하였기에 좀 더 오래 걸린 것 같다. 잘 한번 정리해보자.(테스트 코드와 관련해서는 다음 글에서 다루겠다.) Spring Security는 무엇인가? Spring Security는 인증 및 인가를 지원하는 Spring의 보안 프레임워크이다. Spring MVC에서 보안을 적용하기 위한 표준이라고 할 수 있다. Spring Security는 Interceptor..
[백준] 달빛 여우 - 16118 Java
·
PS/백준
백준의 달빛 여우 문제를 풀어보았다.(Java) 친구의 소개로 풀어본 문제인데 오랜만에 PS를 풀어 관련 개념공부도 같이하였다. 구현에 사용한 알고리즘 또는 자료구조로는 Dijkstra, Graph, 우선순위 큐를 사용했다. 맨 처음에는 Java에서 보통 입력 속도를 줄이기 위해 사용하는 BufferedReader와 그냥 받은 입력을 String 배열에 담는 작업을 했는데 시간초과가 발생했다. 그래서, StringTokenizer를 사용했더니 통과했다. 작성한 코드는 아래와 같다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; // 달빛 여우, 달빛 ..