목록분류 전체보기 (359)
DY의 세상구경
1697 : 큐(queue)제한시간: 1Sec 메모리제한: 32mb 해결횟수: 946회 시도횟수: 1889회 큐는 먼저 들어온 데이터가 먼저 출력된다. 이러한 구조를 선입선출(FIFO - First In First Out)이라고 한다.이러한 큐 자료구조는 보통 우리의 생활에서는 매우 일상적인 자료구조이다. 큐 자료구조의 형태를 가장 흔히 볼 수 있는 게 “줄서기”가 될 것이다. 은행 창구에서 줄을 서거나, 버스를 기다리기 위해서 줄을 설 경우 가장 먼저 줄을 선 사람이 가장 먼저 은행 업무를 처리하거나, 버스를 타게 된다.(새치기 하는 경우는 생각하지 말자)그림과 같은 큐 자료구조를 설계하고, 처리조건에 맞는 출력을 하시오. ≪처리조건≫ 1. 주어지는 명령은 다음의 3가지이다. 2. "i a"는 a라는 ..
1430 : 숫자의 개수제한시간: 1Sec 메모리제한: 32mb 해결횟수: 1233회 시도횟수: 1913회 세 개의 자연수 A, B, C가 주어질 때 A×B×C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오.예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. 첫째 줄에 A 둘째 줄에 B 셋째 줄에 C가 주어진다. A B C는 모두 100보다 같거나 크고 1 000보다 작은 자연수이다. 첫째 줄에는 A×B×C의 결과에 0 이 몇 번 쓰였는지 출력한다. 마찬가지로 둘째 줄부터 열 ..
2514 : 문자열 찾기제한시간: 1Sec 메모리제한: 32mb 해결횟수: 1118회 시도횟수: 1694회 주어진 문자열에서 연속 3개의 문자가 IOI 이거나 KOI인 문자열이 각각 몇 개 있는지 찾는 프로그램을 작성하라.문자열은 알파벳의 대문자로만 이루어진다. 예를 들어 "KOIOIOI"라는 문자열은 KOI 1개 , IOI 2개가 포함되어있다. 입력은 한 줄이며 10, 000자 이하의 알파벳 대문자로 구성된다. 출력은 2줄이며, 첫 번째 줄에는 KOI의 개수, 두 번째 줄에는 IOI의 개수를 각각 출력하라. [Copy] KOIOIOI [Copy] 1 2 [Copy] KORKDIOIDXHKOIOIOIOPKOI [Copy] 2 3 ?12345678910111213141516171819202122232425..
1102 : 스택 (stack)제한시간: 1Sec 메모리제한: 32mb 해결횟수: 1350회 시도횟수: 3002회 Stack은 "더미"란 뜻을 가진다. 책 더미, 신문 더미 등에 사용하는 단어이다. 책 더미를 예로 들어 보자. 책 더미를 쌓았다고 했을 때, 이 책 더미에서 책을 가져오는 가장 정상적인 방법은 제일 위에 있는 책을 가져오는 방식이다.다시 말하면 가장 먼저 들어간 책은 가장 나중에 꺼낼 수 있을 것이다. 이런식으로 자료가 사장 밑에 쌓이고(입력). 자료를 가져올 때(출력)는 가장 위(최근)의 자료를 가져오는 자료구조를 Stack하고 한다. 이러한 Stack의 특징 때문에 흔히 "FILO(First-In-Last-Out : 선입후출)" 혹은 "LIFO(Last-In-First-Out : 후입선..
1295 : 이진탐색제한시간: 1Sec 메모리제한: 32mb 해결횟수: 946회 시도횟수: 2072회 오름차순의 순서대로 정렬되어 있는 N개의 데이터에서 특정한 숫자가 몇 번째 위치에 있는지를 알아내는 프로그램을 작성하시오. 첫 줄에 N이 주어진다. N은 정렬되어 주어지는 데이터의 수이다.(1≤N≤50,000) 둘째 줄에는 N개의 서로 다른 수가 정렬되어 주어진다. 각 수는 공백 하나로 분리되어 주어진다. 셋째 줄에는 데이터에서 찾아야할 특정한 수의 개수 T가 주어진다. 즉, T가 3이면 3개의 수를 정렬된 데이터에서 찾아야 한다.(1≤T≤10,000) 넷째 줄에는 T개의 수가 공백 하나로 분리되어 주어진다. 찾아야할 수가 정렬되어 주어진 데이터의 수중에서 앞에서부터 몇 번째에 있는지 그 위치를 출력한다..
2809 : 약수제한시간: 1Sec 메모리제한: 32mb 해결횟수: 471회 시도횟수: 1895회 한 개의 정수를 입력받아 입력받은 정수의 약수를 모두 출력하는 프로그램을 작성하시오. 정수 N이 주어진다. (2 ≤ N ≤ 21억) N의 약수를 작은 수부터 차례로 모두 출력한다. [Copy] 24 [Copy] 1 2 3 4 6 8 12 24?12345678910111213141516171819202122232425262728293031323334/************************************************************** Problem: 2809 User: a132034 Language: C++ Result: Success Time:0 ms Memory:1764 kb**..
1060 : 최소비용신장트리제한시간: 1Sec 메모리제한: 32mb 해결횟수: 860회 시도횟수: 2796회 정보올림피아드 공부를 더욱 효율적으로 할 수 있도록 전국에 흩어져 있는 정올 학원들을 네트워크로 연결하려고 한다.그러나 모든 학원들을 네트워크로 연결하려면 너무 많은 비용이 필요하기 때문에 정올에서는 학원들을 연결하는 비용을 최소가 되게 하려고 한다. 학원들은연결되어 있는 다른 학원의 회선을 공유할 수 있다.아래 그림과 같이 학원 사이를 연결하기 위한 비용이 주어지면 모든 학원을 연결하기 위한 최소의 비용을 구하는 프로그램을 작성하라. 첫줄에 학원의 수 N(3≤N≤100)이 주어진다.둘째 줄부터 NxN의 행렬로 100,000이하의 정수가 공백으로 구분되어 입력된다. 행렬의 i j는 i번 학원에서 ..
2097 : 지하철제한시간: 1Sec 메모리제한: 64mb 해결횟수: 623회 시도횟수: 2053회 Special Judge 지방에서 서울에 관광온 성수는 지하철 노선을 보고 깜짝 놀랐다. 노선이 엄청나게 복잡하기 때문이었다. 각 노선들이 서로 얽혀있어서 잘못하면 10분도 안걸리는 거리를 1시간 동안 갈 수도 있는 상황이었다. 어쩔 수 없이 성수는 현재 숙소에서 관광할 목적지까지 가장 짧은 시간에 도착할 수 있는 경로와 시간을 표로 만들려고 한다. 단, 각 지하철역에서 관광지가 있고, 지하철을 갈아타는데 소요되는 시간은 없다고 가정한다. 첫줄에 N(3≤N≤100), M(1≤M≤N)을 입력 받는다. N은 지하철역의 수, M은 원하는 목적역의 번호를 입력받는다. 둘째 줄부터 N개의 줄이 나오고, 각 줄에는 ..