https://www.acmicpc.net/problem/23099명 중 합이 100이 되는 7명의 난쟁이의 키를 오름차순으로 출력하는 문제다. 처음 나의 풀이는 누적합을 구하고 이중 for문으로 9개 중 2개를 골라 합이 100이 되면 break하는 것으로
문자열을 입력받고 해당 문자열에 포함되어있는 a의 개수,b의 개수,...z의 개수를 공백으로 구분해서 출력하는 문제다. c++의 실행속도를 믿고 일단 무식하게 코드를 짜서 제출해봤는데 역시나 c++..정답처리되었다.😎 하지만 좀 더 똑똑하고 효율적으로 다시 코드를
https://www.acmicpc.net/problem/29793대를 주차하려고 하는데 1대를 주차했을때, 2대, 3대를 주차했을 때 각각 주차 요금이 다르다. 총 주차 요금을 출력하는 문제다.처음 코드를 작성했을 때는 int변수를 여러개 만들어서 얘네의 값
https://www.acmicpc.net/problem/10988입력받은 단어가 앞으로 읽을 때와 거꾸로 읽을 때 똑같은지 판별하는 문제이다. 처음 코드 짤 땐 for문을 통해 단어 스펠링 하나하나 살펴봤는데 굳이 그럴 필요없이 reverse를 써서 뒤집었을
https://www.acmicpc.net/problem/1159선수 이름을 n개 줄에 걸쳐 입력받고 맨 첫글자가 같은 선수가 5명보다 적으면 PREDAJA를 출력, 5명보다 많다면 해당 첫글자를 사전순으로 공백없이 모두 출력하는 문제다.알파벳의 cnt를 저장
https://www.acmicpc.net/problem/11655입력으로 알파벳 대문자, 소문자, 공백, 숫자로 이루어진 문자열 S가 주어진다. 출력으로 알파벳에 해당하는 부분만 13글자씩 밀어서 만든다.EX) a 1 -> n 1공백, 숫자, 다른 문자열은
https://www.acmicpc.net/problem/9996알파벳 소문자 여러 개와 별표 하나로 이루어진 문자열이 패턴으로 주어진다. 별표를 기준으로 접두사와 접미사로 나눈다.n개 줄에 걸쳐 입력으로 주어진 파일이름의 접두사와 접미사가 일치하는지 판단하는
https://www.acmicpc.net/problem/2559 누적합 이용하는 문제
https://www.acmicpc.net/problem/16201\. N개 줄에 걸쳐서 포켓몬의 이름이 입력된다.2\. M개 줄에 걸쳐서 입력이 들어오는데 숫자면 그 숫자에 해당하는 포켓몬 이름을 출력하고, 입력이 문자(포켓몬 이름)면 그 포켓몬의 숫자를 출
https://www.acmicpc.net/problem/9375겹치지 않는 옷 조합의 개수를 구하는 문제다. 아무것도 고르는 것은 포함하지 않는다.map으로 옷 이름(string)을 입력받아서 해당 second(int)를 ++한다.(잘했어\~\~~👊) 조
https://www.acmicpc.net/problem/1213알파벳 대문자로만 이루어진 문자열이 팰림드롬으로 바꿀 수 있는지 판별하고, 바꿀 수 있다면 사전 순 팰린드롬 문자열로 바꿔 출력하는 문제다.1\. map<string, int> 을 이용하여
https://www.acmicpc.net/problem/3986입력으로 주어진 단어가 문제에서 제시하는 "좋은 단어"인지 아닌지 판별하는 문제다.처음에 풀었을 때는 앞에서부터 같은 문자끼리 짝지었을 때 같은 문자끼리의 index 차이가 2가되면 좋은단어에서
https://www.acmicpc.net/problem/21781은 이동할 수 있는 칸, 0은 이동할 수 없는 칸을 나타낸다.(1,1)에서 (N,M)까지 이동할 때 지나는 최소의 칸 수를 구하는 문제다.가중치가 같은 그래프 내의 최단거리 알고리즘으로 풀어야
https://www.acmicpc.net/problem/10121은 배추가 심어져있는 땅이다. 해충 방지를 위한 배추흰지렁이는 인접해있는 배추로 이동 가능하기 때문에 배추가 모여있는 곳은 지렁이 한 마리면 충분하다.즉 DFS로 connected compone
https://www.acmicpc.net/problem/2468어떤 지역에 비가 내렸을 때 물에 잠기지 않는 지역의 최대 개수를 구하는 문제다. => DFS로 connected component의 최대 개수 구하기NxN 크기의 2차원 배열 형태로 지역의 높이
https://www.acmicpc.net/problem/1992모두 0으로만 되어 있으면 압축 결과는 "0"이 되고, 모두 1로만 되어 있으면 압축 결과는 "1"이 된다. 만약 0과 1이 섞여 있으면 전체를 한 번에 나타내지를 못하고, 왼쪽 위, 오른쪽 위,
https://www.acmicpc.net/problem/2828N칸으로 나눠져 구성된 스크린 위에서 사과가 여러개 떨어진다. M칸의 바구니를 가지고 떨어지는 사과를 모두 담으려할 때 바구니의 이동거리의 최솟값을 구하는 문제다. 이런 문제는 바구니의 시작점과
https://www.acmicpc.net/problem/2910숫자 N개로 이루어진 수열이 모두 C보다 작거나 같을 때 수열을 빈도 정렬 하는 문제다.CUSTOM 정렬 문제로 조건의 우선순위를 생각하면서 두 개의 vector pair를 이용하여 풀었다.(하지
https://www.acmicpc.net/problem/4659입력된 비밀번호가 발음할 수 있는지 아닌지 체크하는 문제다.발음할 수 있는 비밀번호는 해당 조건을 따라야 한다.모음(a,e,i,o,u) 하나를 반드시 포함하여야 한다.모음이 3개 혹은 자음이 3개
https://www.acmicpc.net/problem/2870N줄에 걸쳐 숫자와 알파벳 소문자로 되어있는 문자열이 입력으로 주어진다.모든 입력에서 숫자를 모두 찾아서 비내림차순으로 정렬하는 문제다.예를 들어, 01a2b3456cde478에서 숫자를 찾으면
https://www.acmicpc.net/problem/3474입력으로 테스트 케이스 개수 T, 이어서 T개의 줄에 정수 N이 주어진다.각 줄마다 N!의 오른쪽 끝에 있는 0의 개수를 출력하는 문제다.팩토리얼 결과의 오른쪽 끝에 0은 결국 10으로 이루어지는
https://www.acmicpc.net/problem/28521번 팀과 2번 팀이 농구경기를 하는데 n번에 걸쳐 골이 들어가고 n개의 줄에 각각 득점 정보인 득점한 팀의 번호, 득점한 시간이 주어질 때,1번 팀이 이기고 있던 시간, 2번 팀이 이기고 있던
https://www.acmicpc.net/problem/1436종말의 숫자 666이 들어가는 영화의 제목을 지으려고 할 때N번째 영화의 제목을 출력하는 문제다.ex) 1번째 영화 제목: 666 2번째 영화 제목: 1666666부터 1씩 늘려가면서 해당 숫자에
https://www.acmicpc.net/problem/9012한 쌍의 괄호 기호로 된 ( ) 문자열 또는 이 문자열을 한 쌍의 괄호에 넣은 (()) 문자열들을 VPS라고 부를 때, 입력된 괄호 문자열이 VPS인지 판단하는 문제다.(이 들어오면 open++)
https://www.acmicpc.net/status?user_id=wldn143&problem_id=4949&from_mine=1영문 알파벳, 공백, 소괄호("( )") 대괄호(" ")등으로 이루어진 문자열이 입력되는데 해당 문자열의 괄호들이 모두 짝을 제
https://www.acmicpc.net/problem/1940 문제설명 정렬과 투포인트
https://www.acmicpc.net/problem/1629자연수 A를 B번 곱한 수를 C로 나눈 값을 구하는 문제다.A, B, C는 모두 2,147,483,647 이하의 자연수다.처음에 그냥 엄청나게 커지는 수를 막기 위해(A\*A\*A\*A)%C의 값
https://www.acmicpc.net/problem/43752와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수의 자리수를 출력하는 문제다.입력이 계속해서 주어지기 때문에 while(cin>>n)를
https://www.acmicpc.net/problem/2583눈금의 간격이 1인 M×N(M,N≤100)크기의 모눈종이가 있다. 이 모눈종이 위에 눈금에 맞추어 K개의 직사각형을 그릴 때, 이들 K개의 직사각형의 내부를 제외한 나머지 부분이 몇 개의 분리된
https://www.acmicpc.net/problem/10709H × W 개의 구역으로 나누어진 JOI시의 구름은 1분이 지날 때마다 1킬로미터씩 동쪽으로 이동한다고 할 때 각 구역은 몇 분 후에 구름이 처음으로 뜨는지 구하는 문제다.처음에는 3가지 벡터(
문제 설명 https://www.acmicpc.net/problem/14502 N×M 크기의 배열이 0은 빈 칸, 1은 벽, 2는 바이러스로 구성된다. 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. 새로 벽을 3개 세운 뒤, 바이러스가 퍼졌을 때 안전
https://www.acmicpc.net/problem/2636NxM 크기의 판 위에 치즈(1)가 놓여있다.판의 가장자리에는(X) 치즈가 놓여있지 않다.공기(0)에 접촉된 치즈(c)는 한 시간이 지나면 녹아 없어진다.이 때 모든 치즈가 녹는데 걸리는 시간과
https://www.acmicpc.net/problem/1068첫째 줄에 트리의 노드의 개수 N(0<N<=50)이 주어진다.둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다. 셋
https://www.acmicpc.net/problem/1325컴퓨터 A가 컴퓨터 B를 신뢰하는 경우에는 B를 해킹하면, A도 해킹할 수 있다는 소리첫 번째 줄에 입력 N과 M이 들어온다. N은 10,000보다 작거나 같은 자연수, M은 100,000보다 작
https://www.acmicpc.net/problem/17298크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하는 문제다.Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼
https://www.acmicpc.net/problem/15686크기가 N×N인 도시에 0은 빈 칸, 1은 집, 2는 치킨집으로 구성된다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이고, 도시의 치킨 거리는 모든 집의 치킨 거리의 합을 말한다.임의의
https://www.acmicpc.net/problem/2589보물섬 지도의 각 칸은 육지(L)나 바다(W)로 구성되며 이동은 상하좌우로 이웃한 육지로만 가능하다. 보물은 서로 간에 최단 거리로 이동하는데 있어 가장 긴 시간이 걸리는 육지 두 곳에 나뉘어 묻
https://www.acmicpc.net/problem/16234N×N크기의 땅이 있고 각각의 땅에는 나라가 하나씩 존재한다. r행 c열에 있는 나라에는 Ar명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 인구 이동이 하루 동안 다음과 같이 진행될
https://www.acmicpc.net/problem/4179지훈이를 미로에서 탈출시키자.미로구성은 다음과 같다..: 지나갈 수 있는 공간J: 지훈이의 미로에서의 초기위치(1개) (지나갈 수 있는 공간)F: 불이 난 공간불은 각 지점에서 네 방향으로 확산된
https://www.acmicpc.net/problem/12869수빈이는 강호와 함께 스타크래프트 게임을 하고 있다. 수빈이는 뮤탈리스크 1개가 남아있고, 강호는 SCV N개가 남아있다.각각의 SCV는 남아있는 체력이 주어져있으며, 뮤탈리스크를 공격할 수는
https://www.acmicpc.net/problem/16637가능한 우선 계산 조합을 next_permutation으로 구해서 어떤 조합이 최대값을 갖는지 구했다.예를들어 3\*8+5-2에서 가능한 우선 계산 조합은 (3\*8)+5-2=100 3\*(8+
https://www.acmicpc.net/problem/12851수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다.
https://www.acmicpc.net/problem/13913수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다.
https://www.acmicpc.net/problem/14497주난이는 크게 화가 났다. 책상 서랍 안에 몰래 먹으려고 숨겨둔 초코바가 사라졌기 때문이다. 주난이는 미쳐 날뛰기 시작했다. 사실, 진짜로 뛰기 시작했다.‘쿵... 쿵...’주난이는 점프의 파동
https://www.acmicpc.net/problem/3197두 마리의 백조가 호수에서 살고 있었다. 그렇지만 두 마리는 호수를 덮고 있는 빙판으로 만나지 못한다.호수는 행이 R개, 열이 C개인 직사각형 모양이다. 어떤 칸은 얼음으로 덮여있다.호수는 차례로
https://www.acmicpc.net/problem/1987문제세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다.말은 상하좌우로 인접한 네 칸 중
https://www.acmicpc.net/problem/2529두 종류의 부등호 기호 ‘<’와 ‘>’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어,
https://www.acmicpc.net/problem/146202017년 4월 5일 식목일을 맞이한 진아는 나무를 심는 대신 하이테크관 앞 화단에 꽃을 심어 등교할 때 마다 꽃길을 걷고 싶었다.진아가 가진 꽃의 씨앗은 꽃을 심고나면 정확히 1년후에 꽃이 피
https://www.acmicpc.net/problem/1189한수는 캠프를 마치고 집에 돌아가려 한다. 한수는 현재 왼쪽 아래점에 있고 집은 오른쪽 위에 있다. 그리고 한수는 집에 돌아가는 방법이 다양하다. 단, 한수는 똑똑하여 한번 지나친 곳을 다시 방문
https://www.acmicpc.net/problem/19942식재료 N개 중에서 몇 개를 선택해서 이들의 영양분(단백질, 탄수화물, 지방, 비타민)이 일정 이상이 되어야 한다. 아래 표에 제시된 6가지의 식재료 중에서 몇 개를 선택해서 이들의 영양분의 각
https://www.acmicpc.net/problem/1285N^2개의 동전이 N행 N열을 이루어 탁자 위에 놓여 있다. 그 중 일부는 앞면(H)이 위를 향하도록 놓여 있고, 나머지는 뒷면(T)이 위를 향하도록 놓여 있다. 이들 N^2개의 동전에 대하여 임
https://www.acmicpc.net/problem/17471문제백준시의 시장 최백준은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 최백준은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름도 백준시
https://www.acmicpc.net/problem/14890크기가 N×N인 지도가 있다. 지도의 각 칸에는 그 곳의 높이가 적혀져 있다. 오늘은 이 지도에서 지나갈 수 있는 길이 몇 개 있는지 알아보려고 한다. 길이란 한 행 또는 한 열 전부를 나타내며
https://www.acmicpc.net/problem/1062문제남극에 사는 김지민 선생님은 학생들이 되도록이면 많은 단어를 읽을 수 있도록 하려고 한다. 그러나 지구온난화로 인해 얼음이 녹아서 곧 학교가 무너지기 때문에, 김지민은 K개의 글자를 가르칠 시
https://www.acmicpc.net/problem/2234대략 위의 그림과 같이 생긴 성곽이 있다. 굵은 선은 벽을 나타내고, 점선은 벽이 없어서 지나다닐 수 있는 통로를 나타낸다. 이러한 형태의 성의 지도를 입력받아서 다음을 계산하는 프로그램을 작성하
비어있는 공집합 S가 주어졌을 때, 아래 연산을 수행하는 프로그램을 작성하시오.add x: S에 x를 추가한다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시한다.remove x: S에서 x를 제거한다. (1 ≤ x ≤ 20) S에 x가 없는 경우에
https://www.acmicpc.net/problem/14391영선이는 숫자가 쓰여 있는 직사각형 종이를 가지고 있다. 종이는 1×1 크기의 정사각형 칸으로 나누어져 있고, 숫자는 각 칸에 하나씩 쓰여 있다. 행은 위에서부터 아래까지 번호가 매겨져 있고,
https://www.acmicpc.net/problem/13244트리인지 아닌지 구분하는 문제입력T: 테스트 케이스N: 노드 수M: edge 수M개 줄에 걸쳐 연결된 노드 2개출력tree OR graph연결된 노드 a,b가 입력되면 c\[a]\[b]=1, c
https://www.acmicpc.net/problem/5430선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다.함수 R은 배열에
https://www.acmicpc.net/problem/3015오아시스의 재결합 공연에 N명이 한 줄로 서서 기다리고 있다.이 역사적인 순간을 맞이하기 위해 줄에서서 기다리고 있던 백준이는 갑자기 자기가 볼 수 있는 사람의 수가 궁금해 졌다.두 사람 A와 B
https://www.acmicpc.net/problem/2109한 저명한 학자에게 n(0 ≤ n ≤ 10,000)개의 대학에서 강연 요청을 해 왔다. 각 대학에서는 d(1 ≤ d ≤ 10,000)일 안에 와서 강연을 해 주면 p(1 ≤ p ≤ 10,000)만
https://www.acmicpc.net/problem/9935상근이는 문자열에 폭발 문자열을 심어 놓았다. 폭발 문자열이 폭발하면 그 문자는 문자열에서 사라지며, 남은 문자열은 합쳐지게 된다.폭발은 다음과 같은 과정으로 진행된다.문자열이 폭발 문자열을 포함
https://www.acmicpc.net/problem/1781상욱 조교는 동호에게 N개의 문제를 주고서, 각각의 문제를 풀었을 때 컵라면을 몇 개 줄 것인지 제시 하였다. 하지만 동호의 찌를듯한 자신감에 소심한 상욱 조교는 각각의 문제에 대해 데드라인을 정
한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하
세계적인 도둑 상덕이는 보석점을 털기로 결심했다.상덕이가 털 보석점에는 보석이 총 N개 있다. 각 보석은 무게 Mi와 가격 Vi를 가지고 있다. 상덕이는 가방을 K개 가지고 있고, 각 가방에 담을 수 있는 최대 무게는 Ci이다. 가방에는 최대 한 개의 보석만 넣을 수
소수 판별하는 bool array 만들기 (0:소수 1:소수 아님)어떤 수가 소수라면 그 수를 포함하는 더 큰 수들은 모두 소수가 아니라는 것을 이용한다.prime 배열에서 소수만 vector hol 에 삽입연속합은 자기 자신 또는 여러 수로 이루어진다. 여러 수로 이
https://www.acmicpc.net/problem/13144길이가 N인 수열이 주어질 때, 수열에서 연속한 1개 이상의 수를 뽑았을 때 같은 수가 여러 번 등장하지 않는 경우의 수를 구하는 프로그램을 작성하여라.입력첫 번째 줄에는 수열의 길이 N이 주어
https://www.acmicpc.net/problem/3273n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai +
https://www.acmicpc.net/problem/1700기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전기용품의
https://www.acmicpc.net/problem/171441x1크기의 칸 RxC 크기의 집에 공기청정기는 항상 1번 열에 설치되어 있고 크기는 두 행을 차지한다.각 칸에는 미세먼지의 양이 표시된다.미세먼지 확산(r, c)에 있는 미세먼지는 인접한 네
https://www.acmicpc.net/problem/14889N(4 ≤ N ≤ 20, N은 짝수)명을 두 팀으로 나눴을 때 각 팀의 능력치 차이의 최소값을 구하는 문제다.능력치 Sij는 i번 사람과 j번 사람이 같은 팀에 속했을 때, 팀에 더해지는 능력치
https://www.acmicpc.net/problem/121001\. 4가지 방향을 중복조합으로 5개 선택2\. 해당 방향으로 합치기3\. 중간 공백(0) 제거
NxN 보드 위에서 뱀이 기어다니는 게임 🐍뱀은 사과를 먹으면 길이가 늘어난다. 뱀은 1초마다 이동을 하고 벽(보드의 상하좌우 끝) 또는 자기자신의 몸과 부딪히면 게임이 끝난다.뱀의 초기 위치(x,y): (1,1) 뱀 초기 길이: 1이동 규칙1) 먼저 머리를 다음 칸
크기 NxM의 배열 A가 있을 때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최소값을 의미한다.배열은 K번의 회전 연산을 수행한다.회전연산은 (r,c,s)로 나타내며 가장 왼쪽 윗 칸이 (r-s, c-s), 가장 오른쪽 아랫 칸이 (r+s, c+s)인 정사각형을
8개의 톱니를 가진 톱니바퀴 T개가 일렬로 놓아져있다. 각 톱니는 N극 또는 S극을 가진다.A톱니가 회전 시 맞닿은 B톱니의 극이 다르면 B톱니는 반대로 회전하고 극이 같으면 회전하지 않는다.톱니의 초기상태와 회전시킬 톱니의 번호와 방향이 입력될 때 최종 톱니바퀴의 상
https://www.acmicpc.net/problem/1911N개의 물웅덩이를 길이 L짜리 널빤지로 덮으려고할 때 필요한 널빤지의 최소 개수를 구하는 문제다.널빤지를 최소로 하려면 웅덩이를 덮고 남은 널빤지를 이어서 사용해야한다.따라서 pair vector
문제 https://www.acmicpc.net/problem/17825 4개의 말을 사용할 수 있다. 1~5까지 적힌 5면체 주사위를 굴려서 말을 이동한다. 파란 화살표가 적힌 칸에서 시작하면 파란 화살표 방향대로 움직여야한다. a말의 이동이 마치는 칸에 b말이 있
https://www.acmicpc.net/problem/15685N개의 드래곤 커브를 만들었을 때 크기가 1×1인 정사각형의 네 꼭짓점이 모두 드래곤 커브의 일부인 정사각형의 개수를 구하는 문제다.드래곤 커브는 (시작점 x, 시작점 y, 시작방향 d, 세대
A,B 피자는 각각 다양한 크기의 여러 개의 피자조각으로 나누어져 있다. 고객이 원하는 피자 크기에 맞춰서 줘야하는데 혼합해서 줄수도 있고 한 피자에서 줄 수도 있다. 단, 한 피자에서 2조각 이상을 줄 땐 연속된 조각으로 팔아야한다.피자가게에서 손님이 원하는 크기의
https://www.acmicpc.net/problem/2170도화지에 선을 그으려고 한다. 선분끼리 겹쳐서 그린 곳은 한번만 계산한다고 할 때 그려진 선들의 총 길이를 구하는 문제다.입력첫째 줄에 선을 그은 횟수 N(1 ≤ N ≤ 1,000,000)이 주어
반지름 N짜리 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀있다.T개의 줄에 나온 정보에 따라 회전을 시키고
https://www.acmicpc.net/problem/17143낚시왕이 무려 상어 낚시를 하려고 한다.낚시왕은 오른쪽으로 한 칸씩 이동하며 서있는 줄에서 가장 가까운 상어를 잡을 수 있다. 각자 속력, 이동 방향, 크기를 가지고 있는 상어가 RxC격자판 위
https://www.acmicpc.net/problem/11053수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은
https://www.acmicpc.net/problem/2792M개의 보석을 N명의 아이들에게 나눠주려고 하는데 한 명의 아이가 여러 종류의 보석을 받을 수 없다. (안받거나 한 종류 보석만 받거나)질투심(가장 많은 보석을 받은 아이가 받은 보석의 개수)의
https://www.acmicpc.net/problem/2343N개의 강의를 M개의 블루레이에 녹화하려고 할 때 가능한 블루레이의 크기 중 최소를 구하는 문제특정 값을 찾는 거니까 이분탐색을 이용해서 풀 수 있다.여기서 left, right값을 설정할 때 주
https://www.acmicpc.net/problem/7795심해에 사는 두 종류의 생명체 A와 B의 크기가 주어진다.A의 크기가 B보다 큰 쌍이 몇 개인지 출력하는 문제다.이분탐색를 이용한 풀어보고 lower_bound를 이용해서도 풀어봤다.이분탐색a원소
https://www.acmicpc.net/problem/1269두 집합이 주어졌을 때 대칭 차집합을 구하는 문제다.두 집합끼리 겹치는 원소 제외한 나머지 원소들의 개수 구하면 된다.이분탐색으로 a원소들을 순회하면서 해당 원소가 b집합 내 원소와 겹치면 cnt
https://www.acmicpc.net/problem/1072앞으로 몇 번 더 게임을 해야 승률이 오르는지 구하는 문제몇번 더해야 z값이 바뀌는지 구해야한다.그 몇 번에 대한 값을 특정 범위 내에서 찾아야하기 때문에 이분 탐색을 이용해서 풀 수 있다.
https://www.acmicpc.net/problem/14627파의 개수 S, 닭의 개수 C, S줄에 걸쳐 파의 길이가 입력으로 주어진다.닭 한마리에는 하나의 파만 넣을 수 있다. 여러 파를 잘라서 한 닭에 넣을 수 없다는 뜻이다.파의 양을 최대한 많이 넣
문제 https://www.acmicpc.net/problem/1561 풀이 좀 어려움; 범위 설정때문에 틀림 코드
https://www.acmicpc.net/problem/1400211053번과 동일한데 이 문제는 수열의 길이와 부분 수열을 출력해야하는 문제다.LIS의 길이를 O(n^2)으로 구하는 방법을 이용한 풀이부분 수열 길이를 저장하는 배열 c입력받은 수열을 순회하
https://www.acmicpc.net/problem/12015LIS의 길이를 구하는 문제이전에 풀었던 LIS 문제들은 입력 수열의 크기가 (1 ≤ N ≤ 1,000)이지만이 문제는 (1 ≤ N ≤ 1,000,000) 때문에 기존 O(N^2) 소요되는 풀이
문제 https://www.acmicpc.net/problem/14003 LIS의 길이와 수열을 출력하는 문제다. 풀이 입력 수열의 크기 N (1 ≤ N ≤ 1,000,000) 따라서 O(N log N)안에 해결해야한다. LIS 길이는 lower_bound구하고 수열은
https://www.acmicpc.net/problem/2670N개의 실수가 있을 때, 한 개 이상의 연속된 수들의 곱이 최대가 되는 부분을 찾아, 그 곱을 구하는 문제다.dp를 이용해서 풀었다.배열 dp\[]에는 현재 index를 마지막으로할 때 연속부분최
문제 https://www.acmicpc.net/problem/2565 두 전봇대 A와 B 사이에 전깃줄이 서로 교차하지 않게 하기 위해 없애야 하는 전깃줄의 최소 개수를 구하는 문제다. 풀이 전깃줄이 겹치지 않으려면 A전봇대를 오름차순 정렬했을 때 B전봇대도 오름차순
https://www.acmicpc.net/problem/1463정수 X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.1을 뺀다.위의 연산 3개를 적절히 사용해서 1을 만들려고 할 때 연산을 사용하는 횟수의 최솟값을 구하는
길이 2의 파이프의 한 쪽 끝을 (N,N)으로 옮기는 문제다.파이프 초기 위치는 (1,1) (1,2)이며가로, 대각선, 세로 방향으로 밀어서 옮긴다.1\. 파이프의 좌표와 현재 진행 방향을 인자로 가진 함수를 사용했다.void go(y, x, 현재 진행방향)2\. y,
https://www.acmicpc.net/problem/11031~9까지의 자연수 또는 H(구멍)이 적혀있는 N x M 크기의 보드가 있다.맨 왼쪽 위에 동전을 올려놓는다.동전이 있는 칸에 적힌 숫자 만큼 상하좌우 방향으로 동전을 움직일 수 있다.동전이 구멍
https://www.acmicpc.net/problem/2240인간 자두가 과일 자두를 받아먹으려 한다.T(1≤T≤1,000)초 동안 자두가 떨어진다.자두나무는 두 그루다.인간 자두는 최대 W(1≤W≤30)번 움직일 수 있다.인간 자두의 초기 위치는 1번 자
https://www.acmicpc.net/problem/4811N개의 알약이 담긴 병에서 매일 알약을 꺼내 먹는다.근데 하루에 반 알만 먹는다. 그래서 온전한 알약을 꺼냈다면 반 만 먹고 반 알은 다시 병에 집어 넣는다.한 조각을 꺼낸 날에는 W를, 반 조각
https://www.acmicpc.net/problem/2293각각 다른 가치를 가진 동전 n개를 개수와 상관없이 사용해서 합이 k가 되도록하는 경우의 수를 출력하는 문제다.처음에 아예 접근을 잘못해서 시간을 많이 써버린 문제다..DP는 점화식을 세우려는 노
https://www.acmicpc.net/problem/5557N개의 숫자가 주어진다.마지막 두 숫자 사이에 '='을 넣고, 나머지 숫자 사이에는 '+' 또는 '-'를 넣어 등식을 만들 경우의 수를 구하자.단, 왼쪽부터 계산할 때, 중간에 나오는 수가 모두
https://www.acmicpc.net/problem/12865배낭에는 무게 k만큼 담을 수 있다.n개의 물건은 각각 무게 w와 가치 v를 가진다.배낭에 넣을 수 있는 최대 가치를 구하는 문제다.완전탐색 dp문제다.물건의 무게와 가치를 입력받을 때마다 k~
https://www.acmicpc.net/problem/1450N개의 물건을 C만큼의 무게를 넣을 수 있는 가방에 넣는 방법의 수를 구하는 문제다.어려웠던 문제 🤕처음 봤을 때 어라 이거 dp문제네 하고 금방 풀 수 있겠다고 생각했는데무게 C는 1억보다 작
https://www.acmicpc.net/problem/2342처음엔 두 발 모두 중점이다. 시작 후엔 두 발을 같은 곳에 둘 수 없다.발을 옮길 때 드는 힘은 출발지와 목적지에 따라 다르다.제자리: 1중점 -> 다른 곳: 2중점아닌 곳 -> 인접한 곳: 3
문제 https://www.acmicpc.net/problem/1480 보석의 개수 N, 가방의 개수 M, 가방의 최대 한도 C일 때, 가져갈 수 있는 최대 보석의 개수를 출력하는 문제다. 풀이 dp를 이용한 풀이 dp가방 index[남은 용량] 지금까지 넣은 보석
https://www.acmicpc.net/problem/4781사탕 종류의 수 n과 상근이가 가지고 있는 돈의 양 m이 주어진다.n개 줄에는 각 사탕의 칼로리 c와 가격 p가 주어진다.상근이가 돈 m을 가지고 구매할 수 있는 가장 높은 칼로리를 출력하는 문제
https://www.acmicpc.net/problem/117262×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 10,007로 나눈 나머지를 출력하는 문제다.길이 n에서 세로 타일을 사용하면 길이가 1 줄고, 가로 타일을 사용하면 길이가
https://www.acmicpc.net/problem/10844인접한 모든 자리의 차이가 1인 N자리 수가 몇 개인지 구하는 문제다.ex) 45654, 101top-down 방식의 dp로 풀었다.1.맨 처음 올 수 있는 수는 1~9 이므로 for문으로 함수
https://www.acmicpc.net/problem/2193N자리 이친수의 개수를 구하는 문제다.이친수는 다음과 같은 조건의 수다.1과 0으로 이루어져있다.0으로 시작하지 않는다.1이 두 번 연속으로 나타나지 않는다.N이 최대 90이기 때문에 전체 탐색을
https://www.acmicpc.net/problem/9251두 문자열의 LCS의 길이를 구하는 문제다.LCS(Longest Common Subsequence)는 최장 공통 부분 문자열이다.Subsequence는 Substring과 다르게 연속되지 않은 수
https://www.acmicpc.net/problem/145011일부터 N일까지의 상담 소요기간, 받는 금액이 입력으로 주어진다. 하루에 상담은 1건만 할 수 있다.N+1일에 퇴사를 한다고 할 때, N일 동안 얻을 수 있는 최대 이익을 구하는 문제다.예를
https://www.acmicpc.net/problem/9655N개의 돌이 있다.상근이와 창영이가 턴을 번갈아가면서 돌을 가져간다.맨 마지막에 돌을 가져가는 사람이 이긴다.한 턴에 1개 또는 3개를 가져갈 수 있다.상근이부터 시작한다.DP를 이용해서 풀어보려
https://www.acmicpc.net/problem/11057오르막 수는 수의 자리가 오름차순을 이루는 수다.인접한 수가 같아도 오름차순으로 친다.0으로 시작할 수도 있다.예를 들어 1111, 0234, 18999는 오르막 수다.수의 길이 N이 주어졌을
https://www.acmicpc.net/problem/11048N x M 크기의 미로는 1 x 1의 방으로 나누어져있다.각 방에는 사탕이 놓여져있다.(r, c)에 있으면, (r+1, c), (r, c+1), (r+1, c+1)로 이동할 수 있다.(1, 1)
https://www.acmicpc.net/problem/1309가로 2칸, 세로 N칸인 우리에 사자를 배치하려고 한다.사자는 가로, 세로로 붙어있을 수 없다.2 x N 배열에 사자를 배치할 수 있는 경우의 수를 구하는 문제다.사자를 0마리 배치하는 것도 하나
https://www.acmicpc.net/problem/1890N×N 게임판의 각 칸에는 현재 칸에서 갈 수 있는 거리가 적혀있다.맨 왼쪽 위에서 출발해서 맨 오른쪽 아래로 가는게 목표다.오른쪽 또는 아래 방향으로만 이동할 수 있고 한 칸에서 다른 칸으로 이
https://www.acmicpc.net/problem/2096N줄에 0 이상 9 이하의 숫자가 세 개씩 적혀 있다.첫 줄에서 시작해서 마지막 줄까지 내려가려고 한다.내려갈 때는 바로 아래의 수로 넘어가거나, 아니면 바로 아래의 수와 붙어 있는 수로만 이동할
https://www.acmicpc.net/problem/22250부터 N까지의 정수 K개를 더해서 그 합이 N이 되는 경우의 수를 구하는 프로그램을 작성하시오.덧셈의 순서가 바뀐 경우는 다른 경우로 센다(1+2와 2+1은 서로 다른 경우). 또한 한 개의 수
https://www.acmicpc.net/problem/1965n개의 상자의 크기가 주어진다.앞에 있는 상자가 뒤에 있는 상자보다 작으면 넣을 수 있다.한 번에 넣을 수 있는 최대의 상자 개수를 출력해라.
https://www.acmicpc.net/problem/15988정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 문제dp\[만들고 싶은 수]우선 기본 요소가 되는 1, 2, 3은 먼저 저장해준다.4를 만들 수 있는 경우의 수
https://www.acmicpc.net/problem/110601×N 크기의 미로가 있다.각 칸에 적힌 수만큼 오른쪽으로 이동할 수 있다.예를 들어 3번 째 칸에 3이 적혀있으면 4, 5, 6번째 칸으로 이동할 수 있다.맨 왼쪽 칸에서 맨 오른쪽 칸으로 이
https://www.acmicpc.net/problem/10942N개의 자연수가 주어지고 M개의 질문이 주어진다.질문은 S번 째 수부터 E번 째 수까지 팰린드롬을 이루는지 물어보는 것이다.각 질문의 답을 출력하라이 방법은 1 ≤ N ≤ 2,000 이고, 1
https://www.acmicpc.net/problem/10742^N × 2^N인 2차원 배열을 Z모양으로 탐색할 때r행 c열을 몇 번째로 방문하는지 구하는 문제다.1 ≤ N ≤ 15 라서 전체 탐색을 하면 2^15 x 2^15 = 약 10억 번의 연산이 필
https://www.acmicpc.net/problem/11054증가하다가 감소하는 형태의 수열의 최장 길이를 구하는 문제다.증가만 하거나 감소만 해도된다.2개의 dp 배열을 두고왼쪽에서부터 가장 긴 증가하는 부분 수열의 개수를 구하고오른쪽에서부터 가장 긴
https://www.acmicpc.net/problem/15654N개의 자연수 중에서 M개를 고른 수열을 모두 출력하는 문제조합을 재귀로 구현하는 문제다.재귀함수로 조합을 구현하기위해 필요한 2가지 배열이 있다.방문 체크 배열 bool visited\[]고른
https://www.acmicpc.net/problem/1937n x n 크기의 대나무 숲이 있고 각 지역의 대나무 양이 주어진다.판다는 상하좌우로 이동할 수 있다.단, 현재 있는 지역보다 더 많은 대나무가 있는 지역으로만 이동할 수 있을 때,판다가 어느지역
https://www.acmicpc.net/problem/1520N x M 크기의 격자판으로 각 높이가 쓰여있는 지도가 있다.상하좌우로 이동할 수 있는데 현재 칸보다 높이가 더 낮은 칸으로만 이동할 수 있다. 맨 왼쪽 위에서 시작해서 제일 오른쪽 아래까지 가는
https://www.acmicpc.net/problem/13398n개의 정수로 이루어진 수열이 있다.이 중 연속된 몇 개(최소 1개)를 선택해서 그 합이 최대가 되도록 한다.단, 선택된 수열 중 하나의 수를 뺄 수 있다.다만 이 문제에서는 1개를 뺄지 말지
https://www.acmicpc.net/problem/1915N x M 크기의 0,1로 이루어진 배열이 있다.이 배열에서 1로된 가장 큰 정사각형의 넓이를 구하는 문제다.dp를 쓰지 않으면 매 좌표에서 최대 정사각형 크기를 구해야하는데 매우 시간이 오래걸린
https://www.acmicpc.net/problem/1516DFS + DP6번째 건물을 짓기 위해서는 3 4 2 5 건물이 선행되어야하고 각 건물의 선행 건물을 아래방향으로 적었다. dfs로 깊이 탐색을 할 수 있는 그래프가 보인다😲최대 500개의 건물
https://www.acmicpc.net/problem/1005어떤 건물을 짓는데 규칙이 존재한다. 예를 들어, 규칙은 다음과 같은 형식이다 => 3 4이 규칙은 3번 건물 다음에 4번 건물을 지을 수 있다는 의미다.N개의 건물의 건설에 걸리는 시간이 주어지
https://www.acmicpc.net/problem/7576N x M 크기의 격자 모양 상자의 칸에 토마토를 하나씩 넣어서 창고에 보관한다. 익은 토마토의 4방향으로 인접한 토마토는 하루가 지나면 익게 된다. 익은 토마토는 1, 익지 않은 토마토는 0,
https://www.acmicpc.net/problem/1654길이가 제각각인 K개의 랜선을 잘라서 N개로 만들고 싶다.K개의 랜선의 정보가 주어진다.이 때 N개로 만들 수 있는 랜선 길이의 최대값을 구해라.이분탐색을 이용한 풀이divisionByZero 오
우선순위 큐를 이용한 위상정렬 문제
https://www.acmicpc.net/problem/16954
[백준 c++] 6087 레이저 통신
https://www.acmicpc.net/problem/2482색을 표현하는 기본 요소를 이용하여 표시할 수 있는 모든 색 중에서 대표적인 색을 고리 모양으로 연결하여 나타낸 것을 색상환이라고 한다. 미국의 화가 먼셀(Munsell)이 교육용으로 고안한 20
문제 러시아 가스를 크로아티아로 운반하기 위해 자그레브와 모스코바는 파이프라인을 디자인하고 있다. 두 사람은 실제 디자인을 하기 전에 파이프 매니아 게임을 이용해서 설계를 해보려고 한다. 이 게임에서 유럽은 R행 C열로 나누어져 있다. 각 칸은 비어있거나, 아래 그림과 같은 일곱가지 기본 블록으로 이루어져 있다. 블록 '|' 블록 '-' 블록 '+' 블...
https://www.acmicpc.net/problem/14725개미는(뚠뚠) 오늘도(뚠뚠) 열심히(뚠뚠) 일을 하네.개미는 아무말도 하지 않지만 땀을 뻘뻘 흘리면서 매일 매일을 살길 위해서 열심히 일을 하네.한 치 앞도(뚠뚠) 모르는(뚠뚠) 험한 이 세상(
채영이는 거울을 들여다보는 것을 참 좋아한다. 그래서 집 곳곳에 거울을 설치해두고 집 안을 돌아다닐 때마다 거울을 보곤 한다.채영이는 새 해를 맞이하여 이사를 하게 되었는데, 거울을 좋아하는 그녀의 성격 때문에 새 집에도 거울을 매달만한 위치가 여러 곳 있다. 또한 채