Depth First Search, 깊이 우선 탐색
Breadth First Search, 너비 우선 탐색 그래프에서 인접한 노드부터 탐색하는 알고리즘
1~N번까지의 도시와 M개의 단방향 도로가 존재한다. 특정한 도시 x로부터 출발하여 도달할 수 있는 모든도시 중에서, 최단 거리가 정확히 K인 모든 도시의 번호를 출력하는 프로그램을 작성하세요.답안 참고하였음.n = 도시의 수m = 도로 개수k = 최단 거리x = 출발
Binary Search 기출 문제 29. 공유기 설치집 N개가 수직선 위에 있다. 와이파이를 즐기기 위해 집에 공유기 C개를 설치하려고 한다.한 집에는 공유기를 하나만 설치할 수 있고, 가장 인접한 두 공유기 사이의 거리를가능한 크게 하여 설치하려고 한다.C개의 공유
이전 DFS/BFS 와 최단경로 에서 다룬 내용은 모두 그래프 알고리즘의 한 유형으로 볼 수 있다.그래프노드와 노드 사이에 연결된 간선의 정보를 가지고 있는 자료구조문제를 접했을 때 '서로 다른 개체가 연결되어 있다'는 말을 들으면 가장 먼저 그래프 알고리즘을 떠올려야
자바로 알고리즘 시작하기! Scanner, BufferedReader
문제 : 백준 4179. 불!백준의 BFS 문제이다. 사람과 불 두 가지에 대하여 bfs를 실행해야 한다.문제를 접하고 살짝 해설을 보고 시작했었다.오히려 살짝 해설을 본 게 문제 푸는데 내 생각과 맞지 않아 충돌이 생겨 오래 걸렸다.다른 사람들의 풀이를 보면 불에 대
문제 : 백준 10799. 쇠막대기(스택풀이)
문제 : 백준 9663. N-QueenN의 입력을 받아서 체스판에 N개의 퀸을 두는데, 서로 공격할 수 없
문제 : 백준 1759. 암호 만들기서로 다른 L개의 알파벳 소문자들로 구성되는 비밀번호를 구하세요.L개의 알파벳 소문자로 구성된다.최소 한 개의 모음(a, e, i, o, u)과 두 개의 자음으로 구성된다.알파벳은 비밀번호의 알파벳은 오름차순으로 배열되어 있다.ex)
문제 : 백준 2805. 나무 자르기상근이는 나무 M미터가 필요하다. 절단기에 높이 H를 지정해서 H미터 이상의 나무들을 잘라서 필요한 나무를 가져가려고 한다.M미터의 나무를 집에 가져가기 위해서 절단기에 설정할 수 있는 높이의 최댓값을 구하는 프로그램을 작성하시오.이
문제 : 백준 6588. 골드바흐의 추측 1,000,000 이하의 4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다. ex) 8 = 3 + 5로 나타낼 수 있고, 3과 5는 모두 홀수인 소수이다. 또, 20 = 3 + 17, 42 = 5 + 37과 같이
문제 : 백준 1644. 소수의 연속 합 연속된 소수들을 합하여 입력 받은 n을 구할 수 있는 경우의 수를 구하는 코드를 작성하시오.
합동식, 유클리드 호제법, 에라토스테네스의 체
문제 : 1 문제 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, n이
문제 : 30입력받은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한다.수가 존재한다면 그 수를 출력하라.
구간 합 Prefix Sum
문제 11659. 구간 합 구하기4
문제 11660. 구간 합 구하기5첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다.
문제 백준 12891. DNA 비밀번호문자열에 등장하는 모든 문자가 {A, C, G, T}로 이루어진 문자열을 DNA 문자열이라고 부른다.{A, C, G, T}가 몇번 등장해야하는지 조건이 주어졌을때, 주어진 문자열로 DNA 문자열 비밀번호를 만들 수 있는 경우의 수를
문제 2018. 수들의 합5입력 값 N이 주어졌을때, 연속된 수들의 합으로 N을 나타낼 수 있는 경우의 수를 구하여라.
문제 1940. 주몽갑옷을 만드는 재료들은 각각 고유한 번호를 가지고 있다. 갑옷은 두 개의 재료로 만드는데 두 재료의 고유한 번호를 합쳐서 M(1 ≤ M ≤ 10,000,000)이 되면 갑옷이 만들어 지게 된다.
문제 swea1859. 백만 장자 프로젝트(그리디)
좋긴 뭐가 좋냐
문제 11724. 연결요소의 개수 구하기방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오.
문제 : 백준1874. 스택수열
문제 : 백준 17298. 오큰수
문제 : 백준 2023. 신기한 소수
문제 : 백준 2178. 미로 탐색하기
문제. 백준 1167 : 트리의 지름트리의 지름이란, 트리에서 임의의 두 점 사이의 거리 중 가장 긴 것을 말한다. 트리의 지름을 구하는 프로그램을 작성하시오.트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,0
문제 : 백준 2343. 기타 레슨강토는 자신의 기타 강의 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 강의가 들어가는데, 블루레이를 녹화할 때, 강의의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경우에는 강의의 흐름이 끊겨, 학생들이 대혼란에 빠
문제 : 백준 1300. k번째 수세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 Ai = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, Bk를 구해보자.배열 A와 B의 인덱스는 1부터 시작한
스택과 큐는 프로그래밍이란 개념이 시작될 때부터 사용된 고전적인 자료구조이다.스택은 선입후출(LIFO), 큐는 선입선출(FIFO)의 구조를 가지고 있다.스택(Stack) : Last in First Out. 스택에 마지막에 들어온 데이터가 가장 먼저 처리되는 형태의 자
백준1931. 회의실 배정하기
백준 1541. 잃어버린 괄호문제세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다.그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다.괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그
이진 탐색은 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 알고리즘이다. 데이터가 무작위일 때는 사용할 수 없지만, 이미 정렬되어 있다면 매우 빠르게 데이터를 찾을 수 있다는 특징이 있다.이진 탐색은 위치를 나타내는 변수 3개를 사용하는데 탐색하고자 하는 범위
LeetCode 424. 가장 긴 반복 문자 대체대문자로 구성된 문자열 s가 주어졌을 때 k번만큼의 변경으로 만들 수 있는 연속으로 반복된 문자열의 가장 긴 길이를 출력하라.ex 1 ) s = "AAABBCD", k = 2ex 2 ) s = "AABABBA", k
백준 1325. 효율적인 해킹
백준 1707. 이분 그래프그래프의 정점의 집합을 둘로 분할하여, 각 집합에 속한 정점끼리는 서로 인접하지 않도록 분할할 수 있을 때, 그러한 그래프를 특별히 이분 그래프 (Bipartite Graph) 라 부른다.그래프가 입력으로 주어졌을 때, 이 그래프가 이분 그래
백준 2251. 물통첫째 줄에 세 정수 A, B, C가 주어진다.첫째 줄에 공백으로 구분하여 답을 출력한다. 각 용량은 오름차순으로 정렬한다.문제가 그래프 단원에 실려있어서 어떻게 그래프로 접근해야할지 생각해본 것 같다. 그래프 단원이 아니었다면 그래프로 생각해볼 수
유니온 파인드 유니온 파인드는 여러 노드가 있을 때 특정 2개의 노드를 연결해 1개의 집합으로 묶는 union 연산과 두 노드가 같은 집합에 속해 있는지를 확인하는 find 연산으로 구성되어 있는 알고리즘입니다. union 연산 : 각 노드가 속한 집합을 1개로 합치