코딩테스트준비 6

[백준][DFS] 99클럽 코테 스터디 6일차 TIL + 섬의 개수

오늘의 학습 키워드DFS 오늘의 회고🌱 오늘의 문제https://www.acmicpc.net/problem/4963배열의 크기(w, h)와 배열이 여러 번 반복하여 주어질 때, 그 배열에 포함된 섬의 개수를 세는 문제이다. [주의할 점]1. 테스트 케이스의 개수가 고정되어 있지 않아 시간 복잡도를 예측하기 어려움이 문제에서는 w, h의 입력이 0 0으로 주어질 때 프로그램을 종료한다. 너비와 높이인 w와 h가 50 이하의 정수이므로, 배열의 크기가 많이 크지는 않으나 테스트 케이스가 몇 개나 반복될 지 모른다는 점에서 시간 복잡도를 예측하기 어렵다.2. 상하좌우 + 대각선 이동 가능상하좌우 뿐만 아니라 대각선으로도 이동 가능하다. 출발점 기준으로 인접한 8개의 위치를 모두 고려해주어야 한다.  우선 간..

카테고리 없음 2025.04.10

[백준][투포인터] 99클럽 코테 스터디 5일차 TIL + 수열

오늘의 학습 키워드투포인터나는 투포인터라는 용어 자체를 처음 들어봤는데,투포인터로 푼다는 걸 딱 듣자마자 바로 풀리네? 넘 신기하다! 😚 오늘의 회고🌱 오늘의 문제https://www.acmicpc.net/problem/2559백준 문제는 미리보기가 안 뜨나 보다. 어제도 안 떴는데.. 흠. 배열의 길이 n과 간격 k가 주어지고, 온도 값을 담은 배열이 이어서 주어진다.연속 k간의 온도의 합이 최대가 되는 값을 구하는 문제이다.  🌱 나의 시도시도1.처음에 시도한 방법은 타임 아웃이 떴다.그 이유는 사실 명확하다. 아래 코드는 아주 간결하고 깔끔해보이지만 매우 비효율적인 코드이다.1. 우선 반복문을 통해 O(n)번 돌고 있다.2. 내부에서 sum(tem[i:i+k]) 함수는 O(n^2)으로 동작할 ..

Daily/Coding Test 2025.04.04

[백준][DFS] 99클럽 코테 스터디 4일차 TIL + 안전 영역 (+ RecursionError 핸들링 하기)

오늘의 학습 키워드DFS, 시뮬레이션 오늘의 회고🌱 오늘의 문제 https://www.acmicpc.net/problem/2468(왜 미리보기가 안 불러와질까 🥹)2차원 배열이 주어지고 각각의 칸에는 지형의 높이 정보를 나타내는 자연수 값이 들어간다.이 문제에서는 장마철에 특정 높이 이상 비가 와 일부 지형이 물에 잠겼을 때, 물에 잠기지 않은 안전 영역의 최대 개수를 묻고 있다.여기서 안전 영역은 상하좌우로 인접해 있는 지점들이 최대를 이루는 영역을 말한다.  🌱 나의 시도최대 영역에 대한 개수를 세는 문제는 마침 어제 공부한 DFS 문제의 예시와 비슷했다.그래서 나는 이 문제를 재귀 함수를 이용한 DFS로 구현해보려고 한다.또한 이 문제에서는 장마철에 오는 강우량의 '높이'에 대해 명시하지 않으..

Daily/Coding Test 2025.04.04

[프로그래머스][시뮬레이션] 99클럽 코테 스터디 3일차 TIL + 바탕화면 정리

오늘의 학습 키워드시뮬레이션 오늘의 회고🌱 오늘의 문제https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 컴퓨터 바탕화면을 좌표로 가정한다. 전체 파일을 모두 선택하기 위하여 왼쪽 위 지점부터 오른쪽 아래지점까지 드래그할 때, 최단 거리를 만들기 위한 시작점과 끝점을 찾는 문제이다.   🌱 나의 시도이 문제에 대해 내가 해결한 알고리즘의 시간 복잡도는 이중 반복문을 사용하므로 O(n^2)이다. 그러나 wallpaper의 길이가 최대 50, wallpaper의 내부 길이가 최대 50으로 최악..

Daily/Coding Test 2025.04.03

[백준] 99클럽 코테 스터디 2일차 TIL + 피보나치 비스무리한 수열

오늘의 학습 키워드메모이제이션, 시뮬레이션 오늘의 회고🌱 오늘의 문제피보나치 문제의 변형된 문제이다. 피보나치 문제가 특정 위치 n의 값에 대하여 n-1, n-2 연속된 두 값의 합으로 구해나갔다면, 이 문제는 n-1, n-3과 같이 한 칸을 띄운 두 값의 합으로 구하는 문제이다.이 외의 조건이 크게 달라지는 부분은 없어 기존의 피보나치 구하는 방식으로 구하면 크게 문제될 것이 없다. 🌱 나의 시도입력 값의 최대값이 116으로 크지 않아 복잡한 알고리즘을 사용하기 보다는 짧고 가독성 좋은 코드를 사용하는 것이 좋다는 판단을 했다. 동일한 연산을 반복하지 않으므로 재귀 함수가 불필요하며, 이전 연산 값을 저장해두고 사용할 수 있는 메모이제이션 정도면 충분하다. 현재 단계적으로 문제를 풀기 때문에 시간 ..

Daily/Coding Test 2025.04.02

[리트코드] 99클럽 코테 스터디 1일차 TIL + Top K Freqent Element

오늘의 학습 키워드딕셔너리 정렬, Counter 클래스(Collections 모듈) 오늘의 회고2분기 취업을 목표로 매일 코딩 테스트 풀기를 도전하고 있다.P인간 타파개는 혼자서는 작심이틀이 분명할 것이기에 항해99에서 습관 만들기 프로그램인 99클럽에 지원하였다.99클럽은 매일 오늘의 코딩테스트 문제를 제공하고, LMS에 해당 문제를 풀었다는 인증을 함으로써 습관을 만들 수 있도록 도와준다. 오늘 1일차에는 아래와 같은 내용을 진행하였다.1. OT in 디스코드2. 보너스 문제 제공 (30분간 타임어택)3. 오늘의 문제 풀이 & TIL (개인이 각자 진행) 🌱 오늘의 문제보너스 문제는 리트 코드(Leet Code)의 347. Top K Freqent Element 문제를 풀었다.정수 배열 nums가 ..

Daily/Coding Test 2025.03.31