목록C (18)
DY N DY
1370 : 회의실 배정제한시간: 1000 ms 메모리제한: 32 MB 해결횟수: 2020 회 시도횟수: 5389 회 Special Judge 회의실이 하나 있다. 여러 회의들이 시작시간과 종료시간이 예약되어 있으며, 시간대가 겹치는 회의는 동시에 개최가 불가능하다. 따라서 같은 시간대에 속하는 회의들 중 하나만 개최하고 나머지 회의들은 버려야한다. 단, 종료시간과 시작시간이 같은 경우에는 시간이 겹친다고 말하지 않는다. 회의의 개수 N과 각 회의의 시작시간, 종료시간이 주어졌을 때 되도록 많은 회의를 개최하고자 한다. 회의를 최대한 많이 배정하는 프로그램을 작성하시오. 첫줄에는 회의의 수 N(5≤N≤500), 둘째 줄부터 i-1번 회의의 번호와 시작시간과 종료시간이 차례로 주어진다. (500 이하의 정..
1972 : 정렬(SORT)제한시간: 1000 ms 메모리제한: 32 MB 해결횟수: 1425 회 시도횟수: 4289 회 입력으로 주어진 자연수들을 오름차순 또는 내림차순으로 정렬하여 출력하여보자. 첫 줄에 N이 주어진다. N은 정렬 할 자연수의 개수이다. (1≤N≤100,000) 정렬방법 C가 주어진다. C값이 0이면 오름차순, 1이면 내림차순으로 출력해야한다. N개의 자연수가 주어진다. 각 자연수는 10억 이하의 수이다. 정렬한 수들을 출력한다. [Copy] 5 0 9 2 5 1 100 [Copy] 1 2 5 9 100 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ..
간만에 알고리즘풀이. 1419 : 엔디안제한시간: 1000 ms 메모리제한: 64 MB 해결횟수: 293 회 시도횟수: 746 회 Lilliput의 사람들은 삶은 계란을 먹을 때 계란의 넓은 쪽부터 깨야 한다는 Big Endian파와 좁은 쪽부터 깨야 한다는 Little Endian 파로 나뉘어서 싸우고 있었다. 이 싸움은 삶은 계란 뿐만 아니라 생활 속의 다른 분야에까지 확대되었는데, 그 중 대표적인 것으로 컴퓨터에서 사용하는 데이터의 저장 방법이다. Big Endian 파에서는 숫자를 저장할 때 위쪽 바이트부터 먼저 저장하는 방식이 옳다고 주장하였으며, Little Endian 파에서는 아래쪽 바이트부터 먼저 저장하는 방식이 옳다고 주장하였다. 예를 들어 32bit unsigned int 305,41..
opencv를 이용하여 영상 부분 잘라내기 원하는 구간을 잘라낼 때 사용한다. opencv 3.1 기준. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657#include #include using namespace std;using namespace cv; #define input "input.avi"#define output "output.avi"#define startFrame 500#define endFrame 1000 int main(){ int iCurrentFrame = 0; VideoCapture vc = VideoCapture(input); if (!v..
1019 : 소형기관차제한시간: 1000 ms 메모리제한: 64 MB 해결횟수: 665 회 시도횟수: 1995 회 기차는 맨 앞에 있는 기관차 1대가 손님이 탄 객차 여러 칸을 끌고 간다. 기관차가 고장나면 기차를 운행할 수 없게 되므로 최근 철도청은 기관차 고장에 대비하여 몇몇 역에 소형 기관차 3대를 배치하기로 결정하였다. 소형 기관차는 평소에 이용하는 기관차보다 훨신 적은 수의 객차만을 끌 수 있다. 기관차가 고장났을 때 끌고 가던 객차 모두를 소형 기관차 3대가 나누어 끌 수 없기 때문에 소형 기관차들이 어떤 객차들을 끌고 가는 것이 좋을까하는 문제를 고민하다가 다음과 같이 하기로 결장하였다.① 소형 기관차가 최대로 끌 수 있는 객차의 수를 미리 정해 놓고 그보다 많은 수의 객차를 절대로 끌게 하..
LCS 성공문제집 시간 제한메모리 제한제출정답맞은 사람정답 비율1 초128 MB208493266142.728%문제LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다.예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다.입력첫째 줄과 둘째 줄에 두 문자열이 주어진다. 문자열은 알파벳 대문자로만 이루어져 있으며, 최대 1000글자로 이루어져 있다.출력첫째 줄에 입력으로 주어진 두 문자열의 LCS의 길이를 출력한다.예제 입력 복사ACAYKP CAPCAK 예제 출력 복사4 힌트출처문제를 만든 사람: baekjoon 123456789101112131415161718192021222..
보통 C, C++에서 입력 출력을 받을 때 printf, scanf보다 cout, cin이 편하기 때문에(개인적으로 그럴지도...) 처음에는 cout, cin을 사용하였으나 printf, scanf에 비해 cout, cin(endl)은 상당히 느리다. 이와 같은 현상에도 불구하고 cin, cout을 사용하고 싶다면std::ios::sync_with_stdio(false)를 코드 초반부에 적어준 후에 cin, cout을 사용한다면 printf, scanf만큼 빠른 사용이 가능해진다. cin, cout이 C 라이브러리에서 stdio buffer와 싱크를 맞추다 보니 느려진다고 한다.특히 endl같은 경우 위의 싱크와 상관없이 느린 출력의 주범이 된다고 하여 요즘에는 주로 printf, scanf를 사용한다.
JAVA, C, C++ 공통 대단한 알고리즘 노하우나 팁은 아니지만 실수를 방지할 수 있고 약간의 팁이라고 할 수 있어서 하나씩 정리.. 보통 알고리즘 문제에서는 배열을 사용하기 마련이다. 알고리즘 문제를 풀 때 만약 입력값이 2000개 들어온다고 하면 int a[2000] 이런식으로 잡는데 사실 문제는 없지만 보통은 1부터 2000까지가 0부터 1999까지보다 편하게 느껴질 것이다. 때문에 보통은 2000개 들어온다고 한다면 int a[2001] 이런식으로 잡거나 사실 메모리 조금 더 쓰는것이 문제가 틀리는 것 보다 낫다고 생각하기 때문에 보통 int a[2222] 등 넉넉하게 잡는다. 이렇게 잡으면 for loop를 돌 때기존에 for(int i = 0; i < 2000; ++i) 등으로 사용하던 것..