Software/백준

[백준 12015번] 가장 긴 증가하는 부분 수열 2 - Kotlinhttps://www.acmicpc.net/problem/12015https://github.com/citytexi/daily/pull/24 May/17 by citytexi · Pull Request #24 · citytexi/daily2024년 5월 17일 백준 골드 1문제 12015번 가장 긴 증가하는 부분 수열 2github.com문제수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다.입력첫째 줄에 수열 A의 크기 N..
[백준 1644번] 소수의 연속합 - Kotlinhttps://www.acmicpc.net/problem/1644https://github.com/citytexi/daily/pull/22 May/15 by citytexi · Pull Request #22 · citytexi/daily2024년 5월 15일 백준 실버 1문제 11279번 최대 힙 백준 골드 1문제 1644번 소수의 연속합github.com문제하나 이상의 연속된 소수의 합으로 나타낼 수 있는 자연수들이 있다. 몇 가지 자연수의 예를 들어 보면 다음과 같다.3 : 3 (한 가지)41 : 2 + 3 + 5 + 7 + 11 + 13 = 11 + 13 + 17 = 41 (세 가지)53 : 5 + 7 + 11 + 13 + 17 = 53 (두 가지)하..
[백준 1655번] 가운데를 말해요 - Kotlinhttps://www.acmicpc.net/problem/1655문제백준이는 동생에게 "가운데를 말해요" 게임을 가르쳐주고 있다.백준이가 정수를 하나씩 외칠때마다 동생은 지금까지 백준이가 말한 수 중에서 중간값을 말해야 한다.만약, 그동안 백준이가 외친 수의 개수가 짝수개라면 중간에 있는 두 수 중에서 작은 수를 말해야 한다.예를 들어 백준이가 동생에게 1, 5, 2, 10, -99, 7, 5를 순서대로 외쳤다고 하면, 동생은 1, 1, 2, 2, 2, 2, 5를 차례대로 말해야 한다.백준이가 외치는 수가 주어졌을 때, 동생이 말해야 하는 수를 구하는 프로그램을 작성하시오입력첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다.N은 1보다 크거나 같고,..
[백준 1786번] 찾기 - Kotlinhttps://www.acmicpc.net/problem/1786문제워드프로세서 등을 사용하는 도중에 찾기 기능을 이용해 본 일이 있을 것이다.이 기능을 여러분이 실제로 구현해 보도록 하자.두 개의 문자열 P와 T에 대해, 문자열 P가 문자열 T 중간에 몇 번, 어느 위치에서 나타나는지 알아내는 문제를 '문자열 매칭'이라고 한다.워드프로세서의 찾기 기능은 이 문자열 매칭 문제를 풀어주는 기능이라고 할 수 있다.이때의 P는 패턴이라고 부르고 T는 텍스트라고 부른다.편의상 T의 길이를 n, P의 길이를 m이라고 하자. 일반적으로, n ≥ m이라고 가정해도 무리가 없다.n또, T의 i번째 문자를 T[i]라고 표현하도록 하자. 그러면 물론, P의 i번째 문자는 P[i]라고..
[백준 1005번] ACM Craft - Kotlinhttps://www.acmicpc.net/problem/1005문제서기 2012년! 드디어 2년간 수많은 국민들을 기다리게 한 게임 ACM Craft (Association of Construction Manager Craft)가 발매되었다.이 게임은 지금까지 나온 게임들과는 다르게 ACM크래프트는 다이나믹한 게임 진행을 위해 건물을 짓는 순서가 정해져 있지 않다.즉, 첫 번째 게임과 두 번째 게임이 건물을 짓는 순서가 다를 수도 있다.매 게임시작 시 건물을 짓는 순서가 주어진다. 또한 모든 건물은 각각 건설을 시작하여 완성이 될 때까지 Delay가 존재한다.위의 예시를 보자.이번 게임에서는 다음과 같이 건설 순서 규칙이 주어졌다.1번 건물의 건설이 ..
[백준 14003번] 가장 긴 증가하는 부분 수열 5 - Kotlinhttps://www.acmicpc.net/problem/14003문제수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다입력첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다.둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (-1,000,000,000 ≤ Ai ≤ 1,000,000,000)출력첫째 줄에 수열 A의 가장 긴 증가하는 부분 수열의 길이를 출력한다.둘째 줄에는 정답이 될 수 있는 가장..
[백준 2206번] 벽 부수고 이동하기 - Kotlinhttps://www.acmicpc.net/problem/2206문제N×M의 행렬로 표현되는 맵이 있다.맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다.당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로로 이동하려 한다.최단경로는 맵에서 가장 적은 개수의 칸을 지나는 경로를 말하는데, 이때 시작하는 칸과 끝나는 칸도 포함해서 센다.만약에 이동하는 도중에 한 개의 벽을 부수고 이동하는 것이 좀 더 경로가 짧아진다면, 벽을 한 개 까지 부수고 이동하여도 된다.한 칸에서 이동할 수 있는 칸은 상하좌우로 인접한 칸이다.맵이 주어졌을 때, 최단 경로를 구해 내는 프로그램을 작성하시오입력첫째..
[백준 6549번] 히스토그램에서 가장 큰 직사각형 - Kotlinhttps://www.acmicpc.net/problem/6549문제히스토그램은 직사각형 여러 개가 아래쪽으로 정렬되어 있는 도형이다.각 직사각형은 같은 너비를 가지고 있지만, 높이는 서로 다를 수도 있다.예를 들어, 왼쪽 그림은 높이가 2, 1, 4, 5, 1, 3, 3이고 너비가 1인 직사각형으로 이루어진 히스토그램이다.히스토그램에서 가장 넓이가 큰 직사각형을 구하는 프로그램을 작성하시오.입력입력은 테스트 케이스 여러 개로 이루어져 있다.각 테스트 케이스는 한 줄로 이루어져 있고, 직사각형의 수 n이 가장 처음으로 주어진다. (1 ≤ n ≤ 100,000)그 다음 n개의 정수 h1, ..., hn (0 ≤ hi ≤ 1,000,000,0..
[백준 16236번] 아기 상어 - Kotlinhttps://www.acmicpc.net/problem/16236문제N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다.공간은 1×1 크기의 정사각형 칸으로 나누어져 있다.한 칸에는 물고기가 최대 1마리 존재한다.아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다.가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다.아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다.아기 상어는 자신의 크기보다 작은 물고기만 먹을 수 있다.따라서, 크기가 같은 물고기는 먹을 수 없지만, 그 물고기가 있는 칸은 지나갈 수 있다.아기 상어가 어디로 이동할..
[백준 2108번] 통계학 - Kotlinhttps://www.acmicpc.net/problem/2108문제수를 처리하는 것은 통계학에서 상당히 중요한 일이다.통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다.단, N은 홀수라고 가정하자.산술평균 : N개의 수들의 합을 N으로 나눈 값중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값최빈값 : N개의 수들 중 가장 많이 나타나는 값범위 : N개의 수들 중 최댓값과 최솟값의 차이N개의 수가 주어졌을 때, 네 가지 기본 통계값을 구하는 프로그램을 작성하시오입력첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다.단, N은 홀수이다.그 다음 N개의 줄에는 정수들이 주어진다.입력되는 정수의 절댓값은..
citytexi
'Software/백준' 카테고리의 글 목록