99클럽 코테 스터디 19일차 TIL - 백준 28069번 : 김밥천국의 계단
프로그래머스/BFS & DFS2025. 4. 25. 00:4499클럽 코테 스터디 19일차 TIL - 백준 28069번 : 김밥천국의 계단

✅ 문제https://www.acmicpc.net/problem/28069✅ 문제 유형DPBFS✅ 공부한 내용 🔑 풀이import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); // 계단 수 int..

[이분 탐색] 백준 1920번 : 수 찾기 - Java
백준/탐색2025. 4. 24. 17:01[이분 탐색] 백준 1920번 : 수 찾기 - Java

✅ 문제https://www.acmicpc.net/problem/1920✅ 분류이분탐색✅ 공부한 내용N의 최대범위가 10만이므로, 단순 반복문으로는 풀 수 없다.이분탐색을 적용하면 O(nlogn) 시간 복잡도로 해결할 수 있다. 이분 탐색은 데이터가 정렬되어있는 상태에서 원하는 값을 찾아내는 알고리즘이다.대상 데이터의 중앙값과 찾고자 하는 값을 비교해 데이터의 크기를 절반씩 줄이면서 대상을 찾는다.[이진 탐색 과정] - 오름차순으로 정렬된 데이터인 경우 (내림차순이면 조건 반대)현재 데이터셋의 중앙값을 선택한다중앙값 > 타깃데이터일때 중앙값 기준으로 왼쪽 데이터셋을 선택한다.중앙값 과정 1~3을 반복하다가 중앙값 == 타깃 데이터일 때 탐색을 종료한다.✅ 풀이import java.util.*;import..

99클럽 코테 스터디 16일차 TIL - 프로그래머스 : 신규아이디 추천
프로그래머스2025. 4. 21. 22:0099클럽 코테 스터디 16일차 TIL - 프로그래머스 : 신규아이디 추천

✅ 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ✅ 공부한 내용answer = answer.replaceAll("[^a-z0-9._-]", "");-> 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거 answer = answer.replaceAll("\\.+", ".");-> 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환정규표현식 "\\.+"" 는 . 이 한 번 이상 반복되는 경우\\. : 마침표 .자체를 의미 (.는 정규표현식에서 아무 문자라는 뜻이기 때문에 백슬래시로 escape 해줘야한다)+ : 한 개 이상 반복4단계. 문자열 시작..

99클럽 코테 스터디 14일차 TIL - 백준 17484번 : 진우의 달 여행 (small)
백준/DP (동적계획법)2025. 4. 18. 01:2599클럽 코테 스터디 14일차 TIL - 백준 17484번 : 진우의 달 여행 (small)

✅ 문제https://www.acmicpc.net/problem/17484✅ 분류DP (다이나믹 프로그래밍)✅ 공부한 내용진우가 지구에서 달까지 높이마다 정해진 방향으로 이동할 때, 비용의 최솟값을 구하는 문제이다. 처음에는 높이마다 정해진 방향으로 이동하므로, 계층에 따른 모든 경우의 수를 완전탐색하는 DFS 알고리즘을 떠올렸다. 그러다가 문제가 탐색(재귀호출)으로 어떤 조합을 찾기보다는 최적해를 구하는 문제이므로, 메모리제이션을 활용한 DP 풀이가 더 적합하다는 생각으로 바뀌었다. 이동에는 3가지 경우가 있다. 1) 좌측 아래로 대각선 이동2) 아래로 이동3) 우측 아래로 대각선 이동 7번 노드로 이동하는 경우는 3가지가 있다. 1) 좌측 아래로 대각선 이동 ( 4번 )2) 아래로 이동 ( 5번 ..

image