본문 바로가기
728x90

전체 글290

[Leetcode]704. Binary Search 문제704. Binary Search — https://leetcode.com/problems/binary-search/난이도: Easy유형: 이분 탐색, 배열정렬된 배열에서 찾는 값의 인덱스를 구하고, 없으면 -1을 반환하는 탐색 문제입니다. 요구 시간 복잡도가 로그 수준이라 앞에서부터 하나씩 확인하는 방식은 쓸 수 없습니다.접근기본 이분 탐색을 그대로 적용하면 풀리는 문제입니다. 이분 탐색의 개념과 동작 원리는 아래 글을 참고해주세요. 먼저 읽고 오시면 이어지는 코드를 따라가기 편합니다.이진 탐색(Binary Search) 정리 글그 글에는 Lower/Upper Bound 같은 변형도 나오는데, 이 문제에는 필요 없습니다. 값이 정확히 같은 위치만 찾으면 되기 때문입니다.사고 과정은 이렇습니다.배열이.. 2026. 10. 2.
[Leetcode]125. Valid Palindrome 📌 한 줄 요약 영문자·숫자만 남긴 소문자 문자열을 만들고, 양 끝에서 안쪽으로 짝지어 비교한다(투 포인터). 정리 단계를 없애고 포인터로 건너뛰며 비교하는 방법도 함께 본다.이 글에서 다루는 것"정리"와 "비교"를 나눠서 생각하는 사고 과정왜 절반만 비교해도 되는가 (홀수 길이의 가운데 글자 포함)이 문제가 왜 투 포인터에 잘 맞는지 (투 포인터 이론은 이 글 참고)Python · JavaScript · Java 코드 (알고리즘, 변수명, 주석 위치를 통일)코드에 나온 문법: re.sub, replaceAll (JS의 g 플래그 포함), Java의 String.replaceAll정리한 문자열을 만들지 않는 투 포인터 개선안, 그리고 언어별로 실제로 빨라지는지 직접 잰 결과1. 문제문제: 125. Va.. 2026. 10. 1.
[Leetcode]347. Top K Frequent Elements 📌 한 줄 요약빈도는 해시맵으로 세고, "상위 k개"는 ① 전부 정렬하거나 ② 크기 k짜리 최소 힙으로 걸러낸다.이 글에서 다루는 것정렬 풀이에서 힙 풀이로 넘어가는 사고 과정힙 개념과, 이 문제에서 힙이 왜 어울리는지Python · JavaScript · Java 코드 (알고리즘, 변수명, 주석 위치를 통일)코드에 나온 문법 정리: Counter / most_common, 스프레드 ... / sort / slice / map, merge / Map.Entry / PriorityQueue1. 문제문제: 347. Top K Frequent Elements — https://leetcode.com/problems/top-k-frequent-elements/요약: 정수 배열에서 등장 횟수가 큰 값을 위에서부.. 2026. 9. 30.
[Leetcode]121. Best Time to Buy and Sell Stock 1. 문제문제: 121. Best Time to Buy and Sell Stock — https://leetcode.com/problems/best-time-to-buy-and-sell-stock/요약: 날짜별 주가가 담긴 배열이 주어진다. 어느 하루에 주식을 사고 그보다 뒤의 다른 하루에 팔아서 얻을 수 있는 최대 이익을 구한다. 거래는 딱 한 번만 할 수 있고, 이익을 낼 수 없으면 0을 반환한다.난이도: Easy유형: 배열 그리디 다이나믹 프로그래밍입력 규모: 배열 길이는 최대 10^5, 가격은 0 이상 10^4 이하 수준직접 만든 예시:prices = [9, 4, 7, 2, 8] → 6 (2에 사서 8에 팜)prices = [5, 4, 3, 2] → 0 (계속 내려가서 거래하지.. 2026. 9. 29.
[Leetcode]49. Group Anagrams 1. 문제문제: 49. Group Anagrams — https://leetcode.com/problems/group-anagrams/요약: 문자열 목록을 받아서, 쓰인 글자와 그 개수가 똑같고 순서만 다른 문자열끼리 묶어 돌려준다. 묶음의 순서와 묶음 안의 순서는 자유다.난이도: Medium유형: 해시 테이블 문자열 정렬입력 규모: 문자열 개수는 최대 10^4, 각 문자열 길이는 최대 100 수준이다. 영어 소문자만 나오고, 빈 문자열도 들어올 수 있다.직접 만든 예시:strs = ["listen", "silent", "enlist", "google", "gogole", "cat"]→ [["listen", "silent", "enlist"], ["google", "gogole"], ["cat"]] .. 2026. 9. 22.
[BAEKJOON] 14626 ISBN 📌 백준 2277번 - ISBN Bronze I · 브루트포스 / 구현 / 문자열 📋 문제 설명 🔍 문제 요약 13자리 ISBN에서 훼손된 한 자리가 *로 표시되어 있다. *에 들어갈 올바른 숫자(0~9)를 찾아 출력하시오. ISBN-13은 국제 표준 도서 번호로, 13자리 숫자로 구성됩니다. 마지막 자리는 체크기호로, 아래 공식을 만족해야 유효한 ISBN입니다. ISBN이 abcdefghijklm 일 때, a + 3b + c + 3d + e + 3f + g + 3h + i + 3j + k + 3l + m ≡ 0 (mod 10) 즉, 홀수 자리(1,3,5...) × 1, 짝수 자리(2,4,6...) × 3 을 모두 더한 값이 10의 배.. 2026. 2. 26.
728x90