99클럽 코테 스터디 9일차 TIL + 저울(백준 2437번)
·
항해99 코테
✅ 오늘의 학습 키워드그리디 알고리즘정렬 (오름차순)연속된 추들로 측정할 수 없는 양의 정수 무게 중 최솟값 구하는 방법✅ 공부한 내용- 문제 요약(백준 문제 링크: https://www.acmicpc.net/problem/2437)N개의 저울 추가 주어졌을 때, 이 추들로 측정할 수 없는 가장 작은 양의 정수 무게를 구하는 문제다.한쪽은 물체, 다른 한쪽은 추를 놓을 수 있다. 즉, 연속적인 N개의 추들로 물체의 무게를 표현하는 저울이다.ex) 저울추 3, 1, 6, 2, 7, 30, 1인 경우 측정할 수 없는 가장 작은 양의 정수 무게는 21이다.- 풀이 로직추들을 오름차순으로 정렬한다. (작은 것부터 고려)sum 변수를 사용해서 현재까지 추들로 만들 수 있는 연속된 무게의 최댓값 변수 저장.각 추를..
99클럽 코테 스터디 8일차 TIL + 한국이 그리울 땐 서버에 접속하지(백준 9996번)
·
항해99 코테
✅ 오늘의 학습 키워드문자열 처리패턴 매칭 알고리즘substr(), find()✅ 공부한 내용- 문제 요약(백준 문제 링크: https://www.acmicpc.net/problem/9996) 이 문제는 특정 패턴과 파일 이름이 일치하는지 확인하는 패턴 매칭 알고리즘을 구현해야한다.패턴은 알파벳 소문자와 별표(*) 하나로 이루어져 있다.파일 이름이 패턴과 일치하려면 별표(*)를 알파벳 소문자로 이루어진 임의의 문자열(빈 문자열 포함)로 변환했을 때 파일 이름과 같아야 한다.프로그램은 각 파일 이름이 패턴과 일치하는지 여부를 "DA"(true) 또는 "NE"(false) 로 출력해야 한다.- 풀이 로직1. main() 함수의 경우- 첫 번째 줄에서 파일의 개수 N을 입력- 두 번째 줄에서 패턴을 입력- 다..
99클럽 코테 스터디 8일차 TIL + Check if Number Has Equal Digit Count and Digit Value(LeetCode 2283번)
·
항해99 코테
✅ 오늘의 학습 키워드- 문자 → 정수 변환이번엔 99 클럽 코테 스터디의 비기너 문제를 먼저 풀어보았다. 이 문제는 문자열의 각 위치와 그 위치에 있는 숫자 값 사이의 특별한 관계를 확인하는 것이었다. (문제 링크 : https://leetcode.com/problems/check-if-number-has-equal-digit-count-and-digit-value/)✅ 공부한 내용문제 요약0부터 시작하는 인덱스 숫자로 구성된 문자열 num이 주어짐각 위치 i에 있는 숫자가 문자열 내에서 숫자 i가 나타나는 횟수와 일치하는지 확인모든 위치에서 이 조건이 충족되면 true, 아니면 false 반환풀이 로직1. 문자열의 각 인덱스 i에 대해 반복문을 실행한다.2. 각 인덱스 i에 대해:숫자 i가 문자열 전..
99클럽 코테 스터디 6일차 TIL + 섬의개수(백준 4963번)
·
항해99 코테
✅ 오늘의 학습 키워드- 그래프 탐색- DFS(깊이 우선 탐색)- BFS(너비 우선 탐색)✅ 공부한 내용오늘은 그래프 탐색 알고리즘을 사용하여 섬의 개수를 찾는 문제를 풀어보았다. 이 문제는 2차원 격자에서 연결된 땅(1)을 하나의 섬으로 간주하며, 전체 섬의 개수를 세는 문제였다. (땅 = 1, 바다 = 0)1. 그래프 탐색의 기본 개념그래프 탐색 알고리즘인 DFS와 BFS는 그래프의 모든 정점을 방문하는 방법이다. 오늘 학습한 문제에서는 2차원 격자를 그래프로 보고, 각 셀을 정점으로 간주했다.DFS(깊이 우선 탐색): 한 방향으로 최대한 깊이 탐색한 후, 더 이상 진행할 수 없으면 다시 돌아와 다른 방향을 탐색하는 방법BFS(너비 우선 탐색): 현재 정점에서 가까운 정점부터 순차적으로 탐색하는 방법..
99클럽 코테 스터디 5일차 TIL + 수열(백준 2559번)
·
항해99 코테
✅ 오늘의 학습 키워드- 누적합 (Prefix Sum)✅ 공부한 내용- 오늘은 연속된 K개 요소의 합이 최대가 되는 부분 배열을 찾는 문제를 누적합 기법으로 접근해 봤다.누적합(Prefix Sum) 기법 이해하기누적합은 배열의 각 위치까지의 합을 미리 계산해 두는 방식이다. 이렇게 하면 어떤 구간 [i, j]의 합도 O(1) 시간에 prefixSum[j+1] - prefixSum[i]로 계산할 수 있다.// 누적합 배열 계산vector prefixSum(n+1, 0);for(int i = 0; i  예를 들어, 배열 [3, -2, -4, -9, 0, 3, 7, 13, 8, -3]의 누적합은 [0, 3, 1, -3, -12, -12, -9, -2, 11, 19, 16]이 된다.이를 활용하면 인덱스 7~8 ..
99클럽 코테 스터디 3일차 TIL + 바탕화면 정리
·
항해99 코테
✔️ 오늘의 키워드바탕화면 정리 (프로그래머스) ✔️ 문제 개요프로그래머스의 "바탕화면 정리" 문제는 컴퓨터 바탕화면에 있는 파일들을 한 번의 드래그로 모두 선택하는 방법을 찾는 문제이다. 바탕화면은 격자 형태로 표현되며, 파일이 있는 칸은 "#", 빈칸은 "."으로 표시됩니다. 이때 모든 파일을 선택할 수 있는 가장 작은 사각형의 시작점과 끝점 좌표를 찾아야 하는 것이 목적이다. ✔️ 문제 해결 과정1. 어떤 문제가 있었고, 나는 어떤 시도를 했는지처음에 이 문제를 접했을 때, 바탕화면 전체를 탐색하면서 파일("#")의 위치를 모두 찾아야 한다는 것을 파악했다. 하지만 두 가지 고민이 있었다:어떻게 시작점과 끝점을 효율적으로 결정할 수 있을까?모든 파일 위치를 배열에 저장한 후 계산할지탐색하면서 바로 ..