Gold 1 달성을 목표 🌟 이 시리즈는 SW 개발자로서 알고리즘 실력 향상과 Gold 1 등급 달성을 목표로 하는 과정을 기록하고 공유하는 공간입니다. 문제 풀이 기록 (🔗 GitHub) [GitHub] 해당 깃허브는 백준, 프로그래머스, SWEA 등 여러 플랫폼에서 문제 성공 시 자동으로 push하여 기록하고 있습니다. [Velog] 문...

특정 k 값을 찾는 것 = 이분탐색으로 구현일관되게 문제를 접근하자게임 횟수 : X이긴 게임 : Y (현재 승률 Z%)이후 게임이 무조건 이긴다는 가정 하에 현재의 승률Z(%) = (X / Y) \* 100가 Z + 1러 바뀌는 최소의 게임 횟수(k)를 찾는 문제이다.

특정 k 값을 찾는 것 = 이분탐색으로 구현자료형의 범위에 대하여 숙지하자C++의 경우, 연산 중간 과정에서 오버플로우가 발생할 수 있으므로 자료형 선택에 주의가 필요\[백준] 징검다리 - 11561Silver III입력값 N이 누적합 sumN(n)이 만족하는 n의 최

대표적인 이분탐색 문제 유형임을 인지하자C++의 경우, 연산 중간 과정에서 오버플로우가 발생할 수 있으므로 자료형 선택에 주의가 필요프로그래머스와 같이 입력값의 자료형이 고정된 경우 형변환을 고려하자\[프로그래머스] 입국심사 - 43238level 3C++ 풀이입국심사
행의 개수는 2로 고정되어 있고, 열의 개수 N에 따라, 1×2, 2×1 타일로 채우는 경우의 수를 구하는 문제이다.타일을 채우는 것에 일정한 규칙이 있음을 발견하고 점화식을 세워 DP로 풀이할 예정이다. 예를 들면,N = 1일 때, 1x2 타일 \* 1개로 채우는 경

기간: 10.28(월) ~ 10.31(목)알고리즘 종류: 이분탐색특정 k 값을 찾는 것 = 이분탐색으로 구현자료형의 범위에 대하여 숙지하자C++의 경우, 연산 중간 과정에서 오버플로우가 발생할 수 있으므로 자료형 선택에 주의가 필요\[백준] 예산 - 2512Silver

그래프 유형: 인접리스트 vs 인접배열그래프 탐색 (DFS): 방문 순서 != 깊이알고리즘 수업 - 깊이 우선 탐색 1 - 24479Silver IIC++ 풀이정점 N과 간선 M이 입력으로 주어지면, 시작 정점 R에서 정점 $N_i$ 의 방문 순서를 출력하는 문제이다.

오늘의 학습 키워드 그래프 탐색 (BFS) [백준] 알고리즘 수업 - 너비 우선 탐색 1 - 24444 알고리즘 수업 - 너비 우선 탐색 1 - 24444 Silver II C++ 풀이 풀이시간: 12m 문제해설 정점 N과 간선 M이 입력으로 주어지면, 시작 정점

이분탐색 대상과 부등호 찾기이분탐색 \*$start = 0$, $end = \\text{max element}$\[백준] 나무 자르기 - 2805Silver IIC++ 풀이풀이시간: 30m$N$개의 나무에서 각 나무의 높이 $n_i$ 를 기준 높이 $H$만큼 잘랐을 때

완전탐색 - 자료형 선택 중요진법 계산\[프로그래머스] 모음 사전 - 84512level 2C++ 풀이진법계산

오늘의 학습 키워드 완전탐색 - BFS [백준] 촌수계산 - 2644 [백준] 촌수계산 - 2644 Silver II C++ 풀이 풀이시간: 33m 문제해설 부모와 자식 간의 관계가 주어졌을 때, 주어진 두 사람 사이의 촌수를 계산하는 문제이다. 두 사람 간의 관계

삼성 코테 빈출 유형: 시뮬레이션 + BFS삼성 코딩 테스트 형식: 여러 테스트 케이스(TC)를 한 번에 처리하는 방식BFS를 활용한 최소 이동 횟수 계산\[백준] 나이트의 이동 - 7562Silver IC++ 풀이풀이시간: 11m이 문제는 체스의 나이트가 출발지에서
BFS\[백준] 특정 거리의 도시 찾기 - 18352Silver IIC++ 풀이풀이시간: 18m(작성중)

오늘의 학습 키워드 그래프 - 재귀로 구현 DFS(O), 백트래킹(X) [백준] Yes or yes - 25195 [백준] Yes or yes - 25195 Gold IV C++ 풀이 풀이시간: 54m 문제해설 주어진 그래프에서 특정 장애물이 있는 노드를 피해 루트
기간: 11.01(금) ~ 11.7(목)알고리즘 종류: 이분탐색, 그래프, DFS, BFS최대 또는 최소 $k$ 또는 $k$ 값 찾기\[백준] 예산 - 2512Gold IV풀이시간: 1hC++ 풀이

그리디\[백준] 거스름돈 - 14916Silver V풀이시간: 20mC++ 풀이금액이 주어지면, 2원짜리 동전과 5원짜리 동전으로 거슬러 주는데, 이때 동전의 최소 개수를 출력하면 되는 문제이다.그리디로, 남은 동전 금액이 5로 나누어 떨어질 때까지 2를 빼주면 된다.
7m
이분탐색\[백준] 공유기 설치 - 2110Gold IV풀이시간: 40mC++ 풀이C개의 공유기를 N개의 집에 적당히 설치해서, 가장 인접한 두 공유기 사이의 거리를 최대로 하는 프로그램을 작성하시오.이 문제에서 이분탐색의 대상은 두 공유기 사이의 최소 거리입니다.탐색
vector.size() 주의사항 vector.size()의 반환형은 size_t로, unsigned int 타입입니다. 따라서 vector.size() == 0일 때 size() - 1을 하면 -1이 아닌 2^32 - 1이 되어 배열 범위를 초과하여 접근하려고 시도

시뮬레이션삼성기출 \[백준] 큐빙 - 5373Platinum V풀이시간: 240mC++ 풀이유사 기출 문제(3차원 좌표풀이): 삼성 SW 역량테스트 2024 하반기 오전 1번 문제 /미지의 공간 탈출(미작성)3차원 큐브에서 각 면의 좌표값을 주어진 이동 규칙에 따라 좌
C++에서 다차원 배열을 초기화할 때 자주 사용하는 memset과 fill 함수에 대해 정리합니다. memset 함수는 0 또는 -1로 초기화할 수 있는 함수로, 가장 간단하게 2차원 배열을 초기화할 수 있다. (fill 함수보다 속도 빠름)단, 0 이외의 정수 초기
선형: array, dynamic array, linked list, queue, stack, hash table비선형: tree, graph, heap시간 복잡도: 1초 = 1억번 연산공간 복잡도구현 복잡도 (신경 안 써도 OK)2차원 배열 BFS2차원 배열 DFS해
정적 배열 (Static Array): 고정된 크기를 가진 배열동적 배열 (Dynamic Array): 가변적인 크기를 가진 배열고정된 크기의 저장 공간순차적으로 메모리에 저장됨인덱스를 통해 빠르게 원소 접근 가능 (O(1))크기 변경 불가능 (컴파일 시 크기 고정)가
BFS: 가중치가 동일한 그래프에서 최단 경로 탐색다익스트라: 가중치가 다른 그래프에서 최적의 경로 탐색백준 1753 - 최단경로 문제는 가중치가 다른 그래프에서 최적의 경로를 찾는 문제입니다. 겉보기엔 BFS로 풀 수 있을 것 같지만, 시간 초과와 메모리 초과를 피하

$$S0 = 0$$$$Si+1 = Si + Ai \\quad (0 \\leq i < N)$$$$\\sum\_{k=L}^{R} Ak = SR+1 - SL$$$S0 = 0$ 으로 두면, $L$이 $0$일 때 음수 인덱스 방지할 수 있어 인덱스 관리가 편함.합뿐만 아니

전제 조건: 배열은 반드시 정렬되어 있어야 함.정렬: O(N log N)투 포인터: O(N)시작: L = 0, R = N - 1조건: L < R비교: a\[L] + a\[R]합이 목표보다 작으면 L++합이 크면 R--같으면 정답 처리하고, L++, R--공통점정렬
pair<int, int> 배열이나 int, string 같은 기본 자료형 배열을 정렬할 때는 bool cmp()와 같은 일반 비교 함수를 직접 구현해서 sort()에 넘겨줄 수 있습니다.❗️하지만, 이런 일반 함수 방식이 동작하지 않는 경우가 있습니다.바로 사용
Sort 마스터 배지훈의 후계자
vector<int> arr에서 resize()를 통해 새로운 크기로 특정 값을 초기화할 수 있다는 것을 알게 되었습니다.하지만, memset이나 fill 같은 초기화 함수처럼 사용하면 안 됩니다.그 이유는 resize()는 항상 초기화를 보장하지 않기 때문입니다
이번 포스트에서는 시간 복잡도 O(α(N))의 유니온 파인드(Disjoint Set Union) 알고리즘을 구현해보겠습니다.find()로 루트 노드를 찾고, uni()로 두 집합을 합칩니다.경로 압축과 트리 높이 기준 병합 덕분에, 거의 상수 시간에 가까운 성능을 보장
multiset은 중복된 값을 허용하는 컨테이너입니다.하지만 erase()의 파라미터 타입에 따라 삭제 결과가 달라질 수 있습니다.해당 값을 가진 모든 원소를 삭제합니다.지정한 위치의 원소 하나만 삭제합니다.중복값 중 하나만 지우고 싶다면 iterator로!모두 지우고

이번 포스터에서 다룰 내용은 프로그래머스에서 제공해주는 과제테스트 연습 문제 입니다.코딩테스트를 준비하면서 과제테스트가 생긴 건 알았지만 문제가 적어서 지나갔었습니다. 이번에 확인해보니 문제가 많이 추가된 것 같아 다뤄보려고 합니다.첫번째 목표는, 프로그래머스 과제 테