전체 글 32

99클럽 코테 스터디 15일차 TIL + Leetcode 187. Repeated DNA Sequences

오늘의 학습 키워드자바 문자열 처리Sliding Window 알고리즘HashSet을 활용한 중복 데이터 처리 [ Leetcode 187. Repeated DNA Sequences ]문제 요약DNA 서열 문자열이 주어졌을 때,길이가 10인 부분 문자열 중 두 번 이상 등장하는 문자열을 찾는 문제 해결 방법문자열을 길이 10 윈도우로 잘라가며 탐색중복 체크를 위해 HashSet 사용처음 등장한 문자열은 seen Set에 저장두 번째 등장한 문자열은 result Set에 저장알고리즘 동작 방식HashSet : 중복 여부 체크 Java 코드 구현 class Solution { public List findRepeatedDnaSequences(String s) { int L = 10; //..

코테 2025.04.14

99클럽 코테 스터디 11일차 TIL + 706. Design HashMap

오늘의 학습 키워드자바 HashMap 자료구조Key-Value 구조 데이터 처리직접 구현을 통한 자료구조 원리 이해[706. Design HashMap]문제 요약HashMap 자료구조를 직접 구현해보는 문제 해결 방법"가변적인 ArrayList"를 사용해서 HashMap 함수를 직접 구현고정 배열이 아닌 ArrayList 활용알고리즘 동작 방식put(key, value)기존 key가 있는지 탐색있으면 value 덮어쓰기없으면 새로 추가get(key)key를 찾아서 value 리턴없으면 -1remove(key)key를 찾아서 삭제Java 코드 구현public class MyHashMap { ArrayList> map; public MyHashMap() { map = new Array..

코테 2025.04.10

99클럽 코테 스터디 10일차 TIL + [LeetCode 2283번] Check if Number Has Equal ...

오늘의 학습 키워드문자열 처리배열을 활용한 빈도 계산[LeetCode 2283. Check if Number Has Equal Digit Count and Digit Value 문제]문제 요약각 인덱스 i에 있는 숫자는 문자열 전체에서 숫자 i가 등장한 횟수여야 한다.이 조건이 모든 인덱스에서 만족하면 true, 아니면 false를 리턴한다.해결 방법각 숫자가 몇 번 등장했는지를 세는 배열을 하나 만든다.문자열 num을 순회하면서 등장 횟수를 카운트.다시 한 번 num을 돌면서, i번째 문자의 숫자 값과 i가 등장한 횟수를 비교한다.하나라도 불일치하면 false, 전부 맞으면 true.핵심 포인트문자열 안의 숫자를 단순한 문자로 보지 않고, 조건이 되는 기준값으로 해석해야 한다.Java 코드 (문자열 +..

코테 2025.04.09

99클럽 코테 스터디 9일차 TIL + 백준 3986

오늘의 학습 키워드스택을 활용한 문자열 처리 알고리즘괄호 짝맞추기와 유사한 패턴 매칭[백준 3986 좋은 단어 문제]문제 요약A와 B로만 이루어진 단어가 주어질 때, '좋은 단어'의 개수를 찾는 문제'좋은 단어'란 같은 글자끼리(A는 A끼리, B는 B끼리) 짝을 지었을 때, 선끼리 교차하지 않으면서 모든 글자가 정확히 하나의 짝을 가질 수 있는 단어해결 방법문제 해결의 핵심은 스택을 활용하여 교차하지 않는 짝 맞추기를 구현알고리즘:문자열을 왼쪽에서 오른쪽으로 순회스택이 비어있거나 현재 문자와 스택 최상단 문자가 다르면 스택에 추가스택 최상단 문자와 현재 문자가 같으면 스택에서 제거 (짝을 이룸)모든 문자를 처리한 후 스택이 비어있으면 '좋은 단어'로 카운트Java 코드 구현import java.util...

코테 2025.04.08

99클럽 코테 스터디 8일차 TIL + [LeetCode 70번] Climbing Stairs

오늘의 학습 키워드동적 프로그래밍(Dynamic Programming)피보나치 수열 패턴[LeetCode 70. Climbing Stairs 문제]문제 요약n개의 계단을 오르는 방법을 구하는 문제한 번에 1계단 또는 2계단씩 오를 수 있음꼭대기까지 오르는 서로 다른 방법의 총 개수를 구해야 함해결 방법핵심은 이 문제가 피보나치 수열의 패턴을 따른다는 점을 인식하는 것이고.n번째 계단에 도달하는 방법의 수는 (n-1)번째 계단과 (n-2)번째 계단에 도달하는 방법의 수의 합과 같다.알고리즘:기본 케이스: 1계단은 1가지 방법, 2계단은 2가지 방법result = n-1 + n-2n에 대한 답을 구할 때까지 계산Java 코드 구현 (반복문 사용)class Solution { public int clim..

코테 2025.04.07