본문 바로가기

전체 글1067

[자바] 백준 1377 - 버블 소트 (java) 목차문제 : boj1377  필요 알고리즘애드혹 (ad-hoc)뭔가 알고리즘이 필요한건 아니고, 이 문제만의 규칙(아이디어)을 찾아 해결하는 애드혹 문제이다.※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다.  풀이  거의 3~4개월만에 문제를 풀어봤다! 역시 알고리즘이 재밌긴하다. 결국 N과 배열이 주어졌을 때, 버블소트가 총 몇 번 돌아야 해결되냐? 를 묻는 문제이다. 풀이를 말로하면 엄청 쉽긴한데, 아무래도 아이디어 문제다보니 티.. 2024. 9. 23.
[Study 020] 자바/스프링 개발자를 위한 실용주의 프로그래밍 스터디 주제 '자바/스프링 개발자를 위한 실용주의 프로그래밍'를 읽고 매주 모여서 토론 및 질문  참가자https://github.com/nahwasahttps://github.com/ohgillwhanhttps://github.com/woogiekimhttps://github.com/K-jun98  일정 (진행중)1주차 2024-08-08 1~3장 2024. 8. 1.
[Study 018] Release의 모든 것 스터디 주제 'Release의 모든 것 : 대규모 웹 분산 시스템을 위한 운영 고려 설계'를 읽고 매주 모여서 토론 및 질문  참가자https://github.com/nahwasahttps://github.com/ohgillwhanhttps://github.com/woogiekimhttps://github.com/K-jun98  일정 (완료)1주차 2024-04-11 1장~3장2주차 2024-05-02 4장3주차 2024-05-09 5장, 6장(정리 해야함)N주차 2024-08-01 4부 완료  내용 정리[릴리즈의 모든 것] 1장. 운영 환경의 현실[릴리즈의 모든 것] 2장. 사례 연구: 항공사를 멈추게 한 예외[릴리즈의 모든 것] 3장. 시스템 안정화 2024. 8. 1.
[Study 019] 토비의 스프링 3.1 스터디 주제   토비의 스프링 3.1 Vol.1  참가자https://github.com/nahwasa(모집 완료 후 작성 예정) 일정 (진행중)(모집 완료 후 작성 예정) 내용 정리- 2024. 6. 24.
[Study 017] 디자인 패턴의 아름다움 스터디 주제   디자인 패턴의 아름다움(완정 저)매주 정해진 챕터 각자 읽고와서, 게더타운에서 온라인으로 서로 토론 및 이해안되는 부분 질문. 혹은 뭐 추가로 설명할꺼 있으면 자료 준비해와도 됨 (추가 설명 예시 : https://nahwasa.com/entry/TDD-Mock-SOLID-얘기-도시-가스-요금-계산)  참가자https://github.com/nahwasahttps://github.com/mluluckyhttps://github.com/gwonsiyunhttps://github.com/daraekitahttps://github.com/covertOta 일정 (완료)1주차 2024-02-17 : 1.1 코드 설계를 배우는 이유 / 1.2 코드 품질 평가 방법 (전체적인 내용을 다루는 1장이다.. 2024. 6. 21.
[자바] 백준 2734 - 드럼통 쌓기 (java) 목차문제 : boj2734  필요 알고리즘기하학기하학 문제이다... 수학 어렵다.※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다.  풀이  입력으로 쓰레기통의 가장 아래에 있는 N개의 드럼통이 주어진다. 그리고 항상 그 윗줄에는 N-1개의 드럼통이 있다고 했고, 그런식으로 위로 쌓다가 가장 위 1개의 드럼통의 (x,y)를 구하는 문제이다.   그래서 풀이자체는 간단한데, N개의 입력이 주어지면 최종적으로 남은게 1개일 때 까지 다음을.. 2024. 5. 27.
[자바] 백준 18436 - 수열과 쿼리 37 (java) 목차문제 : boj18436  필요 알고리즘세그먼트 트리, 펜윅 트리, 제곱근 분할법위 알고리즘 혹은 자료구조 중 아무꺼나 쓰면 된다.※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다.  풀이  세그먼트 트리, 펜윅 트리, 제곱근 분할법 등 풀 수 있는 방법은 많다. 아무튼 단일 업데이트, 범위 쿼리를 유효한 시간 내에 처리 가능한 코드를 짜면 된다. 이하 코드는 펜윅 트리를 사용해 풀었다. 펜윅트리에 대한 설명은 '이 글'에서 볼 수.. 2024. 5. 24.
[자바] 백준 2026 - 소풍 (java) 목차문제 : boj2026  필요 알고리즘브루트포스, 백트래킹백트래킹을 써서 모든 경우를 살펴보면 된다.※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다.  풀이  그냥 백트래킹 섞어서 브루트포스로 해보고 안되면 다른 방법을 찾으려고 했는데 통과됬다. 초기 명분(?)은 어차피 최악의 경우 K가 62일 경우, 최소로 필요한 간선은 62*61 = 3782개인데 F가 최대 5600이라서 최악의 경우라도 5600개 중 3782개가 쓰여야 되므.. 2024. 5. 23.
[자바] 백준 21610 - 마법사 상어와 비바라기 (java) 목차문제 : boj21610더보기  필요 알고리즘시뮬레이션제시된 대로 구현하면 된다.※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다.  풀이  그냥 문제에 제시된대로 구현하면 되서 풀이는 필요없을 것 같다. 이하 코드는 그냥 풀긴 좀 심심할 것 같아서 2차원 배열을 쓰지 않고 풀어봤다. 그러니 2차원 배열 안쓰고 푸는걸 참고하려면 코드를 확인해보자. 각 단계별로 처리하는 코드는 주석을 달아두었다. 2차원 배열로 문제에 제시된대로 구현.. 2024. 5. 23.
[자바] 백준 27501 - RGB트리 (java) 목차문제 : boj27501  필요 알고리즘트리 DP (트리 + 동적계획법)트리에서 DP를 사용해 푸는 문제이다.※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다.  풀이  '백준 1149 RGB거리' 문제의 트리버전이라고 보면 된다. 그러니 저걸 안풀었다면 저것부터 풀어보자. 1149를 못푸는데 이 문제를 풀 수 있을 가능성은 없다.   우선 간소화해서 생각해보기 위해, 이 문제를 1149번 문제처럼 트리긴한데 그냥 1차원이었다고 생.. 2024. 5. 23.