왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 온 난쟁이가 이롭명이 아닌 아홉명이였던 것이다. 아홉명의 난쟁이는 모두 자신이 "백설공주와 일곱 난쟁이"의 주인공이라고 주장했다.뛰어난 수학적 직관력을 가지고 있던 백
상근이는 어렸을 적에 "봄보니" 게임을 즐겨했다.가장 처음에 NXN 크기의 사탕을 채워 놓는다. 사탕의 색은 모두 같지 않을 수도 있다. 그 다음 고른 칸에 들어있는 사탕을 서로 교환한다. 이제, 모두 같은 색으로 이루어져 있는 가장 긴 연속 부분을 고른다음 그 사탕을
N가지 종류의 동전이 있다. 각각의 동전이 나타내는 가치는 다르다. 이 동전을 적당히 사용해서,그 가치의 합이 K원이 되도록하고 싶다. 그 경우의 수를 구하시오. 각각의 동전은 몇 개라도 사용할 수 있다. 사용한 동전의 구성이 같은데, 순서는 다른 것은 같은 경우.첫째
[문제] 방향 없는 그래프가 주어졌을 때, 연결 요소의 개수를 구하는 프로그램을 작성하시오. [입력] 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다.(1<=N<=10000, 1<M<M*(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 U와 V가 주어진
카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다 .카드 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와
우리는 사람의 덩치를 키와 몸무게, 이 두개의 값으로 표현하여 그 등수를 매겨보려고한다. 어떤 사람의 몸무게가 xkg이고 키가 ycm 라면 이사람의 덩치는 (ㅌ,ㅛ)로 표시된다. 두 사람 A와 B의 덩치가 각각(x,y) (p,,qy)라고 할 때,x>p 그리고 y>q 이
지민에는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져있는 MN 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져있고, 나머지는 흰색으로 칠해져있다. 지민이는 이 보드를 잘라서 88 크기의 체스판으로 만들려고 한다.체스판은 검은색과 흰색이 번갈아서 칠해져
666은 종말을 나타내는 숫자라고 한다. 따라서 많은 블록 버스터 영화에서는 666이 들어간 제목을 ㅁ낳이 사용한다. 영화 감독 숌은 세상의 종말 이라는 시리즈ㅇ 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈
2차원 평면 위의 점 N개가 주어진다. 좌표를 Y좌표가 증가하는 순으로, Y좌표가 같으면 X좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 첫째 줄에 점의 개수(1<=N<=100,000) 이 주어진다. 둘째 줄부터 N개의 줄에는 i번 점의
2차원 평면 위의 점 N개가 주어진다. 좌표를 X좌표가 증가하는 순으로, X좌표가 같으면, Y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 첫째 줄에 점의 개수 N(1<=N<=100,000)이 주어진다. 둘째 줄 부터 N개의 줄에는 i번
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1000000000보다 작거나 같은 자연수이다. 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. 쉬운 문제이
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같지 않으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. 첫째 줄에 온라인 저지의 회원수 N이 주어진다(1<=N<
알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오.1\. 길이가 짧은 것부터 2\. 길이가 같으면 사전순으로 첫째 줄에 단어의 개수 N이 주어진다.(1<=N<=20000)둘째 줄 부터 N개의 줄에 걸처 알
인하 은행에는 ATM이 1대 밖에 없다. 지금 이 ATM 앞에 N명의 사림이 줄을 서 있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 pi 분이다. 사람들이 줄얼 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이
준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 k로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 첫째 줄에 N과 K가 주어진다. (1<=N<10,1
세준이는 양수와 +,-, 그리고 괄호를 가지고 길이가 최대 50인 식을 만들었다.그리고 나서 세준이는 괄호를 모두 지웠다.그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 최소로 만들려고 한다. 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 첫
이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 깨고 말았다. 안타깝게도 자는 동안 키보드가 잘못 눌려서 보고서의 모든 글자가 A와
옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다.길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자.S = A0×B0 + ... + AN-1×BN-1S의 값을 가장 작게
한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하
조규현과 백승환은 터렛에 근무하는 직원이다. 하지만 워낙 존재감이 없어서 인구수는 차지하지 않는다. 다음은 조규현과 백승환의 사진이다.이석원은 조규현과 백승환에게 상대편 마린(류재명)의 위치를 계산하라는 명령을 내렸다. 조규현과 백승환은 각각 자신의 터렛 위치에서 현재
시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율2 초 128 MB 14016 4475 3798 32.293%문제Day Of Mourning의 기타리스트 강토가 사용하는 기타에서 N개의 줄이 끊어졌다. 따라서 새로운 줄을 사거나 교체해야 한다. 강토는 되도록이면
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오첫째 줄에 1,000보다
어떤 나라에 N개의 도시가 있다. 이 도시들은 일직선 도로 위에 있다. 편의상 일직선을 수평 방향으로 두자. 제일 왼쪽의 도시에서 제일 오른쪽의 도시로 자동차를 이용하여 이동하려고 한다. 인접한 두 도시 사이의 도로들은 서로 길이가 다를 수 있다. 도로 길이의 단위는
신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다.예를 들어 7대의 컴퓨터가 <그림 1>과 같이 네트워크 상에서 연결되어 있다고 하자. 1
그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다.첫째 줄
나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다.재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 부르는 사고를 치기 일쑤였다.재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “(
N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다.이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에
요세푸스 문제는 다음과 같다.1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모
다음 소스는 N번째 피보나치 수를 구하는 C++함수이다. fibonacci(3)을 호출하면 다음과 같은 일이 일어난다.fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다.fibonacci(2)는 fibonacci(1)
2 7 4 44 5 2 6 5위 그림은 크기가 5인 정수 삼각형의 한 모습이다.맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라. 아
상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할것이다.목재절단기는 다음과 같
정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 다섯 가지이다.push X: 정수 X를 스택에 넣는 연산이다.pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경
문제는 다음과 같은 조건을 가진다.X배열이 주어지고 A 배열에 x 각각의 수가 존재하는지 0과 1로 출력 결국 Xi 값이 A배열에 있는지 탐색을 하는 탐색 문제로 볼 수 있다. 쉽게 구현할 수 있는 선형 탐색으로 구현할 경우, 최대 100,000 개를 가지는 N과 M으
입력으로 주어진 알파벳의 횟수가 가장 많은 것을 구하는 문제이다. 대소문자는 구분되지 않는다 최대 알파벳의 개수가 동일한 경우 ? 를 출력한다. 해결 방법 1\. int arr26을 만들어 arr0 은 a 부터 arr25는 z까지를 의미하며 각 횟수를 담는 배열을 만
큐를 구현하는 문제이다. queue 헤더를 이용하여 쉽게 문제를 풀었다.
덱 DEQ 는 double ended queue의 약자이다.큐에서 front의 값들을 뺄 수 있었다면, deq은 뒤에도 넣고 뺄수 있는 구조이다. 잘 사용하지는 않는 구조라 생소했지만 이번 기회를 통해서 정리할 수 있었다. sdt::deque 의 주요 함수들 1\.
C++에서는 문자열의 공백을 구분하기 어렵다. 문자열을 tokenize를 하는 경우를 이번 기회를 통해서 정리해보았다. strtok, strtok_s가 가장 먼저 떠오른 함수이다. string.g 헤더에 포함되어있는데 막상이를 이용해서 돌려보면 "unsafe"하므로 이
백준 17219 비밀번호 찾기 문제 바로가기이진 탐색을 이용해서 사이트에 대한 비밀번호를 찾는 간단한 문제이다. 주의할 점1) 처음 벡터를 이용하여 문제를 풀었다. 벡터는 시간 초과가 되기 쉽다. 따라서 배열로 수정하여 다시 풀었다. 2) cout을 이용하면 시간 초과
문제 바로가기0은 2와 5의 구성으로 이루어져 있다. 따라서 5의 개수를 세어주는 것 만으로 0의 개수도 알 수 있게 된다. 25의 경우는 5가 2개, 125의 경우는 5가 3개 있으니 따로 나누어 더해준다.
📃2Xn 타일링 2 문제 바로가기DP 를 이용하여 푸는 문제이다. Dynamic Programming 알고리즘은 memoization을 한다는 특성을 가지고 있는데, 이는 이전 결과값을 저장하여 다음 계산에 이용을 하는 방식이다. 본 문제의 경우, 2xn에서 이용한
백준 1269번 대칭 차집합 문제 바로가기본 문제는 두 집합에서 교집합이 되는 부분의 개수를 제거한 대칭 차집합의 개수를 구하는 문제이다. 각 집합의 겹치는 부분을 조사해야한다. 이는 각 집합을sorting을 하고, bin search로 진행하면 된다. 더 작은 숫자