스택 (우선순위 큐)

해시맵

투포인터

우선순위 큐, BFS

Doubly Linked List (이중 연결 리스트)
코테 문제를 풀어본 지 너무 오래되어 재활을 위해 자바로 코테를 풀 때 필요한 함수 등을 정리하고자 한다. 1. 입출력과 형변환 (1) 빠른 입출력 기본 입출력과 빠른 입출력이 있는데, 항상 빠른 입출력을 쓰면 입출력으로 인한 시간초과를 고민할 필요가 없다. 빠른 입

https://www.acmicpc.net/problem/5430AC는 정수 배열에 연산을 수행하는 언어로, R(뒤집기)와 D(버리기)라는 두 가지 함수로 구성된다.R은 배열의 순서를 뒤집는 함수이다.D는 배열의 첫 번째 수를 버리는 함수이다. 만약 빈 배열에

https://www.acmicpc.net/problem/1300크기가 N x N인 배열 A에서 A\[i]\[j] = i \* j이다.이 값을 모두 1차원 배열 B에 넣은 후 오름차순 정렬을 했을 때, k번째 수인 B\[k]를 구하여라.단, A와 B의 인덱스는

https://www.acmicpc.net/problem/308041부터 9까지의 번호가 배정된 과일이 N개 꽂혀있는 과일 탕후루가 있다.과일을 두 종류 이하로 남기기 위해 탕후루의 앞에서 a개, 뒤에서 b개를 빼기로 했다.이렇게 만들어질 수 있는 탕후루 중에
SQL이 포함된 코테를 보게 되어 MySQL도 정리해보고자 한다...! 쿼리 기본 작성 순서 SQL 코딩테스트는 일반적으로 주어진 데이터 테이블에서 원하는 자료를 선택하여 출력하는 것을 요구한다. 이를 위해서는 SQL의 여러 명령어 중 SELECT를 사용해 쿼리를 만
역시 코테는 문제를 풀어봐야 배우는 점이 많다.적절한 접근인지 의문이 드는 문제들은 Perplexity(GPT-4o)에게 물어본 쿼리도 함께 공부해서 확인해보았다.테이블에는 각 ID의 부모 ID가 주어진다.이때, 각 ID의 자식 개수를 구하여라.출력은 ID의 오름차순으
SELECT - FROM만으로 해결되는 너무 간단한 문제를 제외하고 작성하고자 한다.테이블에는 동물의 이름이 주어진다.중복되지 않는 동물의 이름 수를 구하여라.이때 이름이 null인 경우는 포함하지 않는다.굉장히 간단한 문제인데, count에서 중복을 허용하지 않을 때

https://www.acmicpc.net/problem/9019 문제 요약 D, S, L, R 4가지 명령어를 수행할 수 있는 계산기가 있다. 계산기는 0이상, 9999이하의 수 n만 계산할 수 있다. D는 n을 두 배로 바꾼다. 만약 그 결과가 1만이 넘으면 1

https://www.acmicpc.net/problem/7662 문제 요약 이중 우선순위 큐는 우선순위 큐와 유사하지만, 두 가지 데이터 삭제 연산을 지원한다. 즉, 우선순위가 가장 낮은 것을 삭제하거나 가장 높은 것을 삭제할 수 있다. 연산은 다음과 같이 주어

https://www.acmicpc.net/problem/9935문자열 내에 폭발 문자열이 존재한다.폭발 문자열이 폭발하면 그 문자는 사라지고, 남은 문자열이 합쳐친다.문자열이 폭발 문자열을 포함하면 모든 폭발 문자열이 폭발하며, 남은 문자열로 새로운 문자열을

https://www.acmicpc.net/problem/13305N개의 도시가 일직선으로 주어진다. 제일 왼쪽 도시에서 제일 오른쪽 도시로 차를 타고 이동하려고 한다.인접한 두 도시 간의 간격은 서로 다를 수 있으며, km 단위로 주어진다.처음에는 차에 기름

https://www.acmicpc.net/problem/11049N x M인 행렬과 M x K인 행렬을 곱할 때 필요한 연산의 수는 N x M x K번이다.행렬 N개를 곱하는 데 필요한 연산의 수는 곱하는 순서에 따라 달라진다.행렬 N개의 크기가 주어졌을 때

https://www.acmicpc.net/problem/1504양방향 그래프가 주어질 때, 1번 정점에서 N번 정점으로 가는 최단 거리를 구하려고 한다.이때, 임의로 주어진 두 정점을 반드시 통과해야 한다는 제약이 있다.한번 이동했던 정점, 간선을 모두 다시

https://www.acmicpc.net/problem/9252대문자로 이루어진 두 문자열 수열이 주어질 때, 최장 공통 부분 수열(LCS)을 얻어라.여기서 LCS는 두 수열 모두에서 부분 수열에 되는 수열 중 가장 긴 것을 의미한다.결과는 LCS의 길이와

https://www.acmicpc.net/problem/1162N개의 도시, M개의 도로, 시작점과 도착점이 주어진다.이때 K개의 도로를 포장해서 시작점에서 도착점에 도달하는 최소 시간을 얻고자 한다.각 도로는 양방향이며 걸리는 시간이 함께 주어지는데, 도로
너무 간단한 문제는 제외하고 작성하려고 했는데, 문제가 적기도 하고 오랜만에 복습하는 느낌으로 다 적어보았다.테이블에는 주소, 냉동시설 여부를 포함한 창고의 정보가 주어진다.경기도에 위치한 창고의 정보를 구하여라.이때 냉동시설 여부가 NULL이라면 'N'으로 출력하고,
JOIN 문제들은 전체적으로 어려웠다.나의 풀이가 비효율적일 수 있기 때문에 GPT에게 물어봐서 더 효율적으로 해결할 수 있을지 확인했다.문제 설명나의 풀이풀이 설명GPT-4o풀이의 차이점 설명문제 설명나의 풀이풀이 설명GPT-4o풀이의 차이점 설명문제 설명나의 풀이풀
https://www.acmicpc.net/problem/11438N개의 정점으로 이루어진 트리가 주어진다. 루트는 1번이며, N번까지 있다.M개의 두 노드 쌍이 주어질 때, 두 노드의 가장 가까운 공통 조상을 출력한다.N은 최대 10만, M은 최대 10만이다
판매 중인 도서 정보 테이블(`BOOK`)과 판매 정보 테이블(`BOOK_SALES`)이 주어진다. 2022년 1월의 카테고리 별 도서 판매량을 합산하고, 카테고리와 총 판매량을 구하여라. 결과는 카테고리의 오름차순으로 나타낸다.
https://www.acmicpc.net/problem/1256사전의 모든 문자열은 N개의 "a"와 M개의 "z"로 구성된다.사전이므로 당연히 문자열은 알파벳 순서로 수록되어 있다.N과 M이 주어질 때, K번째 문자열을 구하여라.만약 사전이 K보다 작다면 -
(다 푼 후 사진 추가 예정)Level 3이상인 문제, 특정 함수가 처음 사용되는 문제, 잘 풀지 못했던 문제 위주로 작성하겠다. 자동차 대여 기록 정보 테이블(CAR_RENTAL_COMPANY_RENTAL_HISTORY)이 주어진다.평균 대여 기간이 7일 이상인 자동
https://www.acmicpc.net/problem/1922각 컴퓨터를 연결하는데 필요한 비용이 주어졌을 때 모든 컴퓨터를 연결하는데 필요한 최소비용을 얻어라.컴퓨터의 수 N은 최대 1000이다.주어지는 연결의 수는 최대 10만이다.이 문제는 그래프가 주

"이분 탐색(Binary Search) 헷갈리지 않게 구현하기"를 공부하며 스스로 이해한 내용을 정리한 글입니다.이분 탐색(Binary Search)은 정렬된 배열에서 특정 값을 빠르게 찾기 위한 알고리즘입니다. 이 알고리즘은 배열을 절반씩 나누어 탐색 범위를 줄여나가

https://www.acmicpc.net/problem/5719거의 최단 경로는 최단 경로의 도로를 포함하지 않는 경로 중 가장 짧은 경로를 의미한다.최단 경로가 여러 가지인 경우에도 모든 도로를 포함하지 않아야 한다.또한, 거의 최단 경로는 여러 개 존재하

https://www.acmicpc.net/problem/11404N개의 도시와 M개의 버스가 존재한다고 하자. 이때 각 버스는 한 번 사용할 때의 비용이 있다.모든 도시 쌍 (A, B)에 대해 도시 A에서 B로 가는데 필요한 최소 비용을 구하여라.도시의 개수

https://www.acmicpc.net/problem/11657N개에 도시에, 두 도시를 잇는 버스 M개가 있다.버스의 정보는 시작도시, 도착도시, 걸리는 시간 순으로 주어진다.버스의 걸리는 시간이 양수 뿐만 아니라 0 또는 음수도 가능하다.이때 1번 도시
https://www.acmicpc.net/problem/1854여행할 도시의 개수 n과 도시 간에 존재하는 도로의 수 m이 있다.1번 도시에서 i번 도시로 가는 k번째 최단 경로의 소요 시간을 얻고자 한다."a b c": a 도시에서 b 도시로 갈 때 c 시
https://www.acmicpc.net/problem/1753V개의 정점과 E개의 간선으로 구성된 방향 그래프가 주어질 때, 주어진 시작 정점 K에서 다른 모든 정점으로의 최단 경로를 구하여라.각 정점에는 1부터 V까지의 번호가 매겨져 있다.두 정점 간에는
https://www.acmicpc.net/problem/3830입력은 여러 개의 테스트 케이스로 주어진다. 끝날 때는 두 개의 0이 주어진다.N개의 샘플 종류와 M번의 작업 개수가 주어진다."! a b w"는 b가 a보다 w그램 무겁다는 뜻이다."? a b"
https://www.acmicpc.net/problem/1717초기에 {0}, {1}, ..., {n}와 같은 꼴의 n+1개 집합이 있다.여기에 m개의 연산을 수행하여 그 결과를 출력하고자 한다. 이는 m개의 줄로 주어진다."0 a b"의 형태는 a가 포함된
https://www.acmicpc.net/problem/1516N개의 줄에는 각 건물을 짓는 시간과 그 건물을 짓는 데 필요한 건물이 주어진다. 각 줄은 -1로 끝난다.건물의 번호는 순서대로 1부터 N이라고 하자.N개의 각 건물이 지어지는데 필요한 최소 시간
https://www.acmicpc.net/problem/2252두 학생의 키를 비교한 결과가 M개 주어진다.A B 형태로 주어지면 A가 B 앞에 서야 한다는 뜻이다.앞선 정보를 활용해 N명의 학생을 키 순서대로 줄을 세운다.이때 답이 여러 가지인 경우에는 아
https://www.acmicpc.net/problem/2094사람들이 Y년 이후 X년에 비가 가장 많이 왔다는 이야기를 할 때, 참/거짓/알 수 없음을 가려보자.강수량이 충분히 주어지지 않은 경우에는 분명히 거짓이 아니라면 알 수 없음이 된다.특정 년도의
https://www.acmicpc.net/problem/1655정수가 주어지면 지금까지 주어진 정수 중에 중간값을 말해야 한다.다만 짝수 개가 주어졌다면 중간의 두 수 중에 더 작은 값을 말한다.주어지는 정수는 최대 10만개, 각 정수의 값은 절대값 1만 이
https://www.acmicpc.net/problem/2243사탕의 맛은 1부터 100만의 숫자로 나타나며, 작을수록 맛이 좋다.사탕을 꺼내는 경우에는 사탕의 맛 순위를 기반으로 꺼낸다.사탕을 넣을 때는 그 맛과 개수를 알려준다. 사탕을 빼는 경우도 있다.
https://www.acmicpc.net/problem/2042N개의 정수로 이루어진 수열이 있다. 이때 수열의 한 값이 M번 변경되며, 그 부분합을 K번 구해야 한다.N은 최대 100만, M과 K는 최대 1만이다.단순하게 생각하면 값을 변경하고, 구간합을
https://www.acmicpc.net/problem/1202각각 무게 $M_i$와 가격 $V_i$를 갖는 보석 N개가 있다.최대 무게 $C_i$를 담을 수 있는 가방 K개가 있다.가방에는 최대 1개의 보석만 넣을 수 있을 때, 얻을 수 있는 최대 가격을
https://www.acmicpc.net/problem/2842N x N 형태의 마을이 있으며, 우체국은 'P', 집은 'K', 목초지는 '.'로 나타낸다.또한 각 위치에는 고도가 있다.배달은 우체국에서 시작해서 모든 집을 거쳐야 한다. 이동은 가로, 세로,
https://www.acmicpc.net/problem/2143길이 n인 배열 A, 길이 m인 배열 B에 대해, 각 배열의 부분합의 총합이 T가 되는 모든 경우의 개수를 얻고자 한다.T는 최소 -10억, 최대 10억이다. n과 m은 최대 1000이다.배열의
https://www.acmicpc.net/problem/2805N개의 나무가 있을 때, 특정 높이 H로 잘라서 얻은 목재의 총 길이가 M 이상이 되는 최대의 H 구하기N은 최대 백만, M은 최대 20억, H는 최대 10억이분탐색...!이분탐색을 통해 목재의
https://www.acmicpc.net/problem/180610,000 이하의 자연수로 구성된, 길이 N의 수열이 주어진다.수열의 연속된 수의 부분합이 S 이상이 되는 것 중 가장 짧은 것의 길이를 구하자.이때 N은 최대 10만, S는 최대 1억이다.이
https://www.acmicpc.net/problem/3055지도는 R행 C열로 이루어진다.비어있는 곳은 '.', 물이 있는 곳은 '\*', 돌은 'X', 비버 굴은 'D', 고슴도치 위치는 'S'로 나타낸다.매 분마다 고슴도치는 인접한 네 칸 중에 하나로
https://www.acmicpc.net/problem/9663N x N 체스판 위에 N개의 퀸을 서로 공격할 수 없게 놓아야 한다.N이 주어질 때, 퀸을 놓는 방법의 수를 구하자.이때 N은 1 이상, 15 이하이다.N이 최대 15니까 전체 체스판은 최대 1