1. 다익스트라 알고리즘 다익스트라 - 위키백과 방문 순서 : 1 - 2 - 3 - 6 - 5 - 4 어떤 노드를 먼저 방문할거냐? distance가 가장 작은 노드부터 방문. => 우선순위큐 필요함. 우선순위큐가 없어도 문제해결은 가능하지만 비효율적. 우선순위큐를 안쓰면 시간초과인 문제도 있었던 것 같음. ...
Stream
알고리즘 문제를 풀면서 Java8 로 변형 count // Basic int result = 0; for (int i = N+1; i <= N * 2; i++) { if (isPrime[i] == true) result++; } System.out.println(result); // Java8 System.out....
최소비용신장트리 - 프림, 크루스칼
최소비용으로 고속도로 만들기 프림 알고리즘 프림 알고리즘 - 위키백과 시작 : D (아무데서나 시작해도 결과는 같음.) 1) D - A (5 cost) 2) D - F (6 cost) 3) A - B (7 cost) 4) B - E (7 cost) 5) E - C (5 cost) 6) E - G (9 cost) 구현 : 우선순위 ...
에라토스테네스의 체
에라토스테네스의 체 - 위키 10억(1024 x 1024 x 1024) 까지의 소수를 확인할 때 필요한 메모리 boolean[] isPrime = new boolean[1024*1024*1024]; boolean형 10억개 -> 1byte * 1024 * 1024 * 1024 -> 1GB 힙메모리가 1GB 이상 필요함. ...
2019년 7주차 회고
넷플릭스 넷플릭스 계정을 친구가 알려줬다. 일주일 동안 프리즌 브레이크 시즌1 ~ 5 까지 다 봤다. 오늘 꿈에서는 감옥을 탈출하는 꿈까지 꿨다. 평소에 아이패드로 인터넷방송이나 유튜브를 켜놓긴 하지만.. 넷플릭스는 더 몰두하게 한다. 취업 이번엔 서류가 떨어졌다. 그 회사의 기술스택이 내가 사용했던 것과 같아서 최소한...
2019년 5,6주차 회고
중학생 시절 원래 사람이 지난 추억을 모두 기억하진 못하지만, 나는 유독 기억을 잘 못하는 편이다. 중학생 때를 떠올려보면 추억이 거의 없다. 장난기가 많아서 재밌게 보냈던 것 같았다. 하지만, 생각이 달라졌다. 이번주에 중학교 친구와 가볍게 맥주를 마시며 이런저런 얘기를 나눴다. 내가 중학생 때 상처가 되는 말을 친구에게 했었는데, ...
final은 immutable한가 ?
final은 키워드이고, Immutable은 패턴이다. final은 Immutable인가? 아니다 final 변수의 참조주소는 변경될 수 없다. immutable 객체내부의 값들이 수정될 수 없다. String.class 는 immutable이다. String 객체는 한번 선언되면 그 값이 변경되지 않기 때문 ...
2019년 4주차 회고
이제 27살이다. 식충이로 살고있는데.. 빨리 벗어나고 싶다. 27살에 아직까지 뚜렷한 목표가 없다. 어디서부터 잘못된건지 돌이켜 생각해보면 한없이 거슬러 올라가게 된다. 사람마다 남들이 모르는 상처, 고통들이 많을 거고, 나에게는 이 생각마저도 그것들 중 하나일 뿐인 것이다. 내가 40살이 되면 지금의 오늘의 일들을 떠올리지 못할 것이다. ...
2019년 3주차 회고
내가 가장 열정적으로 코딩하던 순간은 1년 전, 백준 알고리즘 문제를 풀 때 였다. 당시 알고리즘만 죽어라 했었고, 그 때 처음 개발에대한 흥미를 느꼈다. 그 후로 프로젝트를 할 때마다 그 때만큼의 열정으로 개발한 경우가 없었던 것 같다. 개발이 재미가 없었던 것은 아니지만 알고리즘 할 때에는 하루 단위로 뿌듯하고, 빨리 자고 일어나 코딩하...
javax.Validation으로 request 검증하기
API를 구현할 때, post 메소드로 body에 데이터를 받는다. 이 때 값들이 유효한 값인지를 검증하여 유효하지 않으면 bad request를 보낼 수가 있다. 간단하고 유용하게 사용할 수 있는 것이 javax.validation.constraints에 있는 애노테이션들이다. spring-boot-starter-web 의존성을 추가할 경우에는...