알고리즘 4

99클럽 코딩테스트 스터디 5기 수료 자세한 후기

스터디를 찾게 된 계기코딩테스트 준비를 어떻게 시작해야 할지 막막했다. 입출력 문법만 겨우 알고 있던 내가 문제를 보면 대부분 무슨 말인지 이해하기도 어려웠고, 설령 이해했다 해도 어떻게 풀어나가야 할지 감이 잡히지 않았다. 혼자서 프로그래머스 문제를 몇 개 풀어보려 했지만, 어떤 문제부터 풀어야 할지도 모르겠고 꾸준히 하기도 쉽지 않았다. 그러던 중 99클럽을 알게 됐는데, 매일 문제를 제공해주고 진도도 체크해준다는 점이 눈에 띄었다. 특히 비기너부터 챌린저까지 난이도별로 문제가 나온다는 게 입문자인 나에게 딱 맞아 보였다. 알고리즘 이론 강의도 함께 신청할 수 있는데, 자바로 참여하는데 강의 언어는 파이썬이라서 듣진 않았다. 파이썬 비기너였으면 고려했을지도. 스터디 참여 경험매일 11시가 되면 항해9..

DSA/코딩테스트 2025.02.25

99클럽 코테 스터디 16일차 TIL - Java 프로그래머스 더 맵게

🔍 프로그래머스 "더 맵게"https://school.programmers.co.kr/learn/courses/30/lessons/42626?language=java🎯 오늘의 학습 포인트오늘은 자료구조 선택이 알고리즘의 성능과 코드 품질에 얼마나 큰 영향을 미치는지 깊이 있게 이해하게 됐다. 특히 값들을 정렬된 상태로 유지하면서 최소값을 반복적으로 찾아야 하는 상황에서는, 단순히 리스트를 매번 정렬하는 것보다 PriorityQueue를 사용하는 것이 훨씬 효율적이라는 점을 배웠다. 실제로 시간복잡도가 O(N²logN)에서 O(NlogN)으로 크게 개선되는 것을 경험했다. 문제 난이도가 높지 않아서 의도를 재차 재해석하면서 이 의도를 좀 더 명확히 드러내보려고 시도했다. 같은 결과를 내는 두 가지 접근..

DSA/코딩테스트 2025.02.11

99클럽 코테 스터디 7일차 TIL - Java 백준 15829 해싱

[백준 15829] Hashing - 해시 함수 구현하기🌟 Today's Focus해시 함수의 기본 개념문자열을 활용한 수학적 연산모듈러 연산과 오버플로우 처리Java의 문자열 처리📝 Today I Learned 보자마자 모니터 덮고 이불 속으로 들어가고 싶어지는 텍스트 압박 등장. 사실 처음에 비기너 문제가 아닌데 잘못 들어온 줄 알았다.도무지 풀 의욕이 들지 않아서 미들러 문제 구경 갔더니 DFS & BFS 문제더라 ㅎㅎ그래서 다음을 기약하고 다시 해싱을 진득하게 복습하기로 했다^_^... 처음엔 보기 싫어서 눈을 질끈 감았었는데,일단 풀기 위해서 문제를 읽어보니 해싱에 대한 자세한 소개글이 길 뿐이었다.1. 문제 분석 (재정의)문제를 봤을 때 수식이 있어서 겁먹었다.그래서 가장 먼저 한 건 수식..

DSA/코딩테스트 2025.01.22

Algorithms - Binary Search 이진 탐색/이분 탐색 Java 구현과 주의사항

스터디 1일차에 코테 백준 P2776 암기왕 문제 풀어보려고 찾아보다가 HashSet, HashMap, 이분탐색 방법으로 푼 걸 많이 구경했다. 바이너리서치는 사실 평소에 이름을 많이 들었었고, 실제로 sql 목데이터 대량으로 돌렸을 때 삽입 오류 뜨면 뭐 때문인지 아날로그(?)적 이분 탐색을 하면서 범인을 검거하곤 해서 반갑더라.   정렬과 함께 기초 중의 기초 알고리즘이라고 해서 한번 정리해보고자 한다. 🧩 이진 탐색(Binary Search): 알고리즘의 기초이진 탐색이란?이진 탐색은 정렬된 데이터에서 특정 값을 찾기 위해 검색 범위를 절반씩 줄이는 알고리즘이다.단순히 리스트를 순차 탐색하는 것보다 훨씬 빠르다.더보기이분 탐색 == 이진 탐색참고로, 이분 탐색과 이진 탐색은 같은 개념이다.단어 선..

DSA 2025.01.15