[JAVA] 14003 - 가장 긴 증가하는 부분 수열 5: lower_bound를 활용한 LIS문제
·
Problem Solve
들어가며가장 긴 증가하는 부분 수열 56 - K · BOJ 14003 · 시간 3 초 · 메모리 512 MB미해결해결6주차 목록가장 긴 증가하는 부분 수열 5 문제 설명 그림수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다.입력첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다.둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (-1,000,000,000 ≤ Ai ≤ 1,000,000,000)출력첫째 줄에 수열 A의 가장 긴 증가하는 부분 수열의 길이를 출력한다..
[JAVA] 1561 - 놀이공원: 이분탐색을 활용한 큰 범위 문제 해결하기
·
Problem Solve
들어가며문제는 아래와 같다. 백준 이슈로 README에 저장된 문제를 푸는중이다😅 얼른 돌아와라!!N명의 아이들이 한 줄로 줄을 서서 놀이공원에서 1인승 놀이기구를 기다리고 있다. 이 놀이공원에는 총 M종류의 1인승 놀이기구가 있으며, 1번부터 M번까지 번호가 매겨져 있다.모든 놀이기구는 각각 운행 시간이 정해져 있어서, 운행 시간이 지나면 탑승하고 있던 아이는 내리게 된다. 놀이 기구가 비어 있으면 현재 줄에서 가장 앞에 서 있는 아이가 빈 놀이기구에 탑승한다. 만일 여러 개의 놀이기구가 동시에 비어 있으면, 더 작은 번호가 적혀 있는 놀이기구를 먼저 탑승한다고 한다.놀이기구가 모두 비어 있는 상태에서 첫 번째 아이가 놀이기구에 탑승한다고 할 때, 줄의 마지막 아이가 타게 되는 놀이기구의 번호를 구하..
[Infra] Docker 컨테이너는 어떻게 통신할까?
·
Infra
들어가기https://geniusjun4663.tistory.com/120 [Infra] Container 딥다이브 - Linux Kernel에서 시작하는 Docker 자세히 알아보기들어가며솔직하게 지금까지는 Docker를 활용하기에 바빴다. Dockerfile로 image 관리해보고,, port 격리해보고,,, 아래의 명령어를 필요할때 써보기에 급급했다.docker rundocker psdocker logsdocker exec... 하지만geniusjun4663.tistory.com 이전 글에서는 컨테이너 개념이 Linux Kernel 명령어 3가지의 조합(namespace, cgroups, Union FileSystem)이란 것을 자세하게 알아보았고, Docker는 그 조합을 개발자가 원할하게 쓸 수..
[Infra] Container 딥다이브 - Linux Kernel에서 시작하는 Docker 자세히 알아보기
·
Infra
들어가며솔직하게 지금까지는 Docker를 활용하기에 바빴다. Dockerfile로 image 관리해보고,, port 격리해보고,,, 아래의 명령어를 필요할때 써보기에 급급했다.docker rundocker psdocker logsdocker exec... 하지만 조금 더 아래로 내려가 보면 Docker는 완전히 새로운 기술이라기보다는, Linux Kernel이 제공하는 여러 기능을 개발자가 사용하기 쉬운 형태로 묶어낸 도구에 가깝다. 최근에 컨테이너에 대해 Kernal 기반으로 조금 딥하게 들어가볼 기회가 생겨서 컨테이너가 어떤 Linux 기능 위에서 동작하는지, Docker Engine은 어떤 역할을 하는지, 그리고 Docker 구조가 왜 containerd, containerd-shim, runC로 ..
[Infra] 모니터링 서버 도입 전에 할 수 있는 부하 테스트와 성능 병목 확인(Amazon CodeGuru Profiler + k6 스트레스 테스트)
·
Infra
들어가며https://geniusjun4663.tistory.com/118 [Infra] Prometheus와 Grafana로 우리 서비스의 개선점과 에러 찾기들어가며현재 소마를 진행하며 유저를 모으고! 돈도 벌 수 있고, 6개월 동안 애정을 담아 만들 수 있는 서비스를 기획하기 위해 정말 고군분투 중이다. 애정을 담아 만들 서비스의 CPU나 메모리는geniusjun4663.tistory.com이전에 서비스의 에러와 개선점을 파악할 수 있는 Prometheus + Granfana 기반의 모니터링 시스템에 대해서 다뤘었다. 너무나 유용한 기능이 많았지만,, 이 방식은 결국 모니터링용 서버가 하나 더 필요하다! 보통 실무에서도 Prometheus와 Grafana 조합으로 서버 지표를 수집하고 시각화한다고 한..
[Infra] Prometheus와 Grafana로 우리 서비스의 개선점과 에러 찾기
·
Infra
들어가며현재 소마를 진행하며 유저를 모으고! 돈도 벌 수 있고, 6개월 동안 애정을 담아 만들 수 있는 서비스를 기획하기 위해 정말 고군분투 중이다. 애정을 담아 만들 서비스의 CPU나 메모리는 어떠한지 혹은 DB 연결 풀은 괜찮은지 파악하며 개발을 진행해야, 어느정도 리소스를 할당해야 할지 결정하고 예측할 수 있다고 생각한다!특히 우리가 만들 서비스의 핵심 API는 응답시간이 매우 중요해질 것 같기에, 그 상황별 응답시간을 한눈에 보기좋게 정리한다면 향후 기획적 기술적 개선에 큰 도움이 될 것이라고 확신한다. 그런 의미에서 매트릭을 수집하고 보여주는 대표적인 오픈소스인 Prometheus와 Grafana를 알아보려고 한다~!본문으로Monitoring vs Observability ?제대로 들어가기전에 ..
[SOMA] MVP 수요 검증용 서버리스 환경 구축 + Supabase와 GA4를 비교하며 선택 이유 정리하기
·
Project/SOMA
들어가며https://geniusjun4663.tistory.com/103 AI·SW 마에스트로 17기 합격 후기 🎊정말 들어가고 싶었던 소마에 합격했다!!🤩 17기부터는 AI·SW 마에스트로 명칭이 바뀌며 모집인원이 300명으로 확 늘었다는 점 참고바란다.(기존에는 100~150명이라고 한다)수많은 블로그를 보며geniusjun4663.tistory.com소마 합격 후 너무 많은 훌륭한 사람들과 대화를 나누고 많은 생각을 주고 받으며 뜻깊은 나날들을 보냈다. 특히 멘토님들과는 대화를 잠깐 한 것만으로도 안목이 엄청나게 넓어진다. 매일매일 신기한 경험 중이다~!한편으로는 이제 앞으로 긴 여정을 함께 이어갈 팀 매칭과 멘토선정, 아이디어 기획 때문에 있어서 머리가 지끈지끈하다. 다행이 나는 마음이 맞는..
[JAVA] 1912 - 연속합 🩶2 : 정답을 보면 간단해보여도, 빠르게 떠올리지 못한 문제 + 백준 섭종 발표 다음날...(개가 짖어도 기차는 간다!)
·
Problem Solve
제목으로https://www.acmicpc.net/problem/1912 1912번: 연속합첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다.www.acmicpc.netn개의 정수로 이루어진 임의의 수열에서, 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 정답으로 출력하면 되는 문제이다.본문으로딱 문제를 읽자마자 for문으로 하나씩 다 구하면 되는 거 아니야? 했다가 바로 n 그래서 합의 최대니까 구간합을 구해놓으면 뭔가 쉽게 되지 않을까? 라고 생각하고 로직 작성에 들어갔다.(비극의 시작..) 그래서 아래와 같은 구간합을 미리 구해놓는 식으로 시간복..
[JAVA] 2632 - 피자판매 💛2 : 값이 아닌 경우의 수를 저장하자. + 원형 자료구조는 선형 자료구조로 피자!
·
Problem Solve
들어가며https://www.acmicpc.net/problem/2632A피자와 B피자가 여러 크기를 가진 여러 조각으로 나누어져있다. 이때 구매자가 원하는 N의 값을 만족하는 피자를 A에서 혹은 B에서 혹은 A,B에서 가져올 수 있다. 그때 구할 수 있는 모든 경우의 수를 구하면 되는 문제이다.본문으로정석적인 풀이는 모든 합의 경우의 수를 구하면 되지 않을까란 생각이 듦과 동시에 그러면 안된다는 생각이 들어야한다 ㅎㅎ. 그러면 정렬 후 투포인터로 하나씩 고르면 되지 않을까 싶은데,, 문제에서 "2조각 이상 판매할 때는 연속된 피자를 골라야한다" 라고 명시되어 있다. 이 조건 하나때문에 투포인터로 구현하기가 매우 어려워진다. 생각을 이어나가다 보면 각 피자의 값을 하나씩 고르는 방식으로는 구현이 너무너무..
[JAVA] 15685 - 드래곤 커브 💛3: 기하 문제라면 당황하지 말고 규칙을 찾아보자.
·
Problem Solve
들어가며https://www.acmicpc.net/problem/15685세대별로 전 세대의 모양을 시계방향으로 돌려서 끝점에 붙혀가며 도형을 그렸을 때, 정사작형이 총 몇개 있는지 개수를 구하는 문제였다.본문으로처음 봤을 때 너무 막막했다. 이러한 기하 느낌의 문제를 풀어본 적이 많이 없었을 뿐더러 특히 문제에서 요구하는 세대별 변화를 좌표이동 값으로 나타내기가 너무 어려웠다.좌표이동의 규칙이 뭐가 있을까??? 하고 계에에에에속 그려봤는데 뭔가 보이는 것 같으면서도? 너무 구현하기가 어려웠다... 결국 다른 분들의 힌트를 받아, 방향의 규칙을 찾고 좌표의 증감을 나타내라는 힌트를 받았다. 좌표이동의 규칙을 찾는 것이 아니라 방향의 변화 규칙을 찾으니 비교적 로직을 쉽게 구할 수가 있었다. 문제에서 0,..