본문 바로가기

Computer Science304

Problem D : 키로거(Keylogger) Problem D : 키로거(Keylogger) 제한시간: 1000 ms 메모리제한: 128 MB 심술쟁이 해커 덕표는 미스터 부의 패스워드를 해킹하려고 한다. 그래서 덕표는 미스터 부의 컴퓨터에 키로거를 설치했다. 며칠 후 덕표는 미스터 부의 로그파일을 입수했다. 그런데 로그파일을 본 덕표는 패스워드가 어떻게 되는지 바로 알 수는 없었다. 미스터부가 패스워드가 잘 생각나지 않았는지 방향키를 이용하여 좌우로 이동하면서 문자를 삽입하거나 백스페이스를 이용하여 문자를 삭제한 흔적이 발견되었기 때문이다. 성질이 급한 덕표는 이를 해결하기 위해 종민이에게 부탁하였다. 로그 파일을 받은 종민이는 패스워드를 찾을 수 있을까? 첫 행에 테스트 케이스 수 T ( 1prev = buf[bn++].myAlloc(ch, p.. 2020. 1. 8.
Problem C : 용액 Problem C : 용액 제한시간: 1000 ms 메모리제한: 64 MB Special Judge KOI 부설 과학연구소에서는 많은 종류의 산성 용액과 알칼리성 용액을 보유하고 있다. 각 용액에는 그 용액의 특성을 나타내는 하나의 정수가 주어져있다. 산성 용액의 특성값은 1부터 1,000,000,000 까지의 양의 정수로 나타내고, 알칼리성 용액의 특성값은 -1부터 -1,000,000,000 까지의 음의 정수로 나타낸다. 같은 양의 두 용액을 혼합한 용액의 특성값은 혼합에 사용된 각 용액의 특성값의 합으로 정의한다. 이 연구소에서는 같은 양의 두 용액을 혼합하여 특성값이 0에 가장 가까운 용액을 만들려고 한다. 예를 들어, 주어진 용액들의 특성값이 [-99, -2, -1, 4, 98]인 경우에는 특성값.. 2020. 1. 8.
Problem B : const구간의 합 구하기(2D) Problem B : const구간의 합 구하기(2D) 제한시간: 2000 ms 메모리제한: 512 MB N * N크기의 2차원 배열에 수들이 입력되어 있다. 이 배열의 임의의 구간에 있는 수들의 합을 물어보는 M개의 쿼리에 답하는 프로그램을 작성하시오. 쿼리에 답하는 중간에 배열의 어떤 원소도 값이 변경되지 않는다.​ 첫 행에 행과 열의 크기 N이 입력된다. ( 1 2020. 1. 7.
Problem A : 수열 Problem A : 수열 제한시간: 1000 ms 메모리제한: 0 MB 매일 아침 9시에 학교에서 측정한 온도가 어떤 정수의 수열로 주어졌을 때, 연속적인 며칠 동안의 온도의 합이 가장 큰 값을 알아보고자 한다. 예를 들어, 아래와 같이 10일 간의 온도가 주어졌을 때, 3 -2 -4 -9 0 3 7 13 8 -3 모든 연속적인 이틀간의 온도의 합은 아래와 같다. 이때, 온도의 합이 가장 큰 값은 21이다. 또 다른 예로 위와 같은 온도가 주어졌을 때, 모든 연속적인 5일 간의 온도의 합은 아래와 같으며, 이때, 온도의 합이 가장 큰 값은 31이다. 매일 측정한 온도가 정수의 수열로 주어졌을 때, 연속적인 며칠 동안의 온도의 합이 가장 큰 값을 계산하는 프로그램을 작성하시오. 첫째 줄에는 두 개의 정수.. 2020. 1. 7.
큐브 Problem D : 큐브 제한시간: 1000 ms 메모리제한: 0 MB 현성이는 3 * 3의 면으로 구성된 정육면체 모양의 큐브를 각 면이 같은 색깔이 되도록 힘들게 맞추어 놓았다. 책상위에 올려놓고 잠깐 마트에 가서 아이스크림을 사먹고 왔더니 그 사이 동생이 큐브를 가지고 놀고 있다. 힘들게 맞추어 놓았는데 동생이 다시 제멋대로 돌려 놓는 바람에 다시 맞춰야 한다로 생각하니 조금아까 먹은 아이스크림이 올라올 거 같았다. 동생에게 몇번을 돌렸다고 물었더니 정확하게 10번을 돌렸다고 한다. 현성이를 위해서 돌리는 횟수를 최소로 하여 원래의 상태로 맞출수 있도록 프로그램을 작성해 주도록 하자. //-------------main.cpp------------- #define _CRT_SECURE_NO_WAR.. 2020. 1. 7.
루빅의 사각형 Problem C : 루빅의 사각형 제한시간: 1000 ms 메모리제한: 128 MB Special Judge 4×4 격자판에 1에서 16까지 정수 번호가 매겨진 16개 타일이 임의로 놓여져 있다. 타일을 움직여 그림1과 같이 타일을 놓이게 하려고 한다. 타일을 움직이는 방법은 하나의 행(가로줄)을 오른쪽으로 원하는 칸 수만큼 순환적으로 움직이거나, 하나의 열(세로줄)을 원하는 칸 수만큼 아래쪽으로 순환적으로 움직이는 것이다. 그림 2는 그림 1의 2번째 행을 오른쪽으로 2칸 움직인 것이다. 그림 1의 2번째 행의 오른쪽 끝에 있는 7번 타일과 8번 타일이 오른쪽 경계를 넘어가서 왼쪽 끝으로 옮겨갔다. 그림 3은 그림 2의 3번째 열을 아래쪽으로 1칸 움직인 것이다. 그림 2의 3번째열의 가장 아래에 있.. 2020. 1. 7.
CPP OOP 유력문제 1. 복사 생성자 2. 이동생성자 3. NVRO 4. MString 할때 거기서 코드 쓰는거 나옴 5. if(*m_str!='\0') delete[] m_str; 6. void(__thiscall A::*fp)(void) = &A::sub; 7. 서술형 class A{ int no; char ch; public: ... A(const A & ra); // 복사 생성자 함수 } Sub(A a) Return a; } int main() { Sub(A()); } 개체 생성 몇 개인가? 8. volatile const int n = 5; 값 안 바뀌는 거랑 값 왜 안 바뀌는지 이유 : 실제 메모리 영역은 바뀌어 있지만, const로 설정했기 떄문에 호출될 때 다시 치환된다. 9. Long data를 문자형으로 .. 2019. 7. 18.
컴퓨터실 1. 힙 정렬 2. comp 함수 3. 문제 읽고, 예외사항 없이 정리 /* 컴 퓨 터 실*/ #include struct data { int gap, start; }heap[300010]; int a[100010], b[100010]; int last; int M, N, Q; //컴퓨터의 수 M, 이미 자리를 잡은 학생의 수 N, 친구의 수 Q int comp(int i, int j) { if (heap[i].gap == heap[j].gap) return heap[j].start - heap[i].start; return heap[i].gap - heap[j].gap; } void swap(int a, int b) { struct data temp = heap[b]; heap[b] = heap[a];.. 2019. 6. 11.
protocol 2. 현재 본인이 진행 중인 프로토콜 개발분야는 무엇입니까? ① Group 1 - (4G L1-L2, 3G L1-L2, CP framework arch) ② Group 2 - (4G-3G RRC,RRM) ③ Group 3 - (Protocol Stack Service) ④ Group 4 - (Physical) ⑤ Group 5 - (BSP, device driver, code management&engineering) ⑥ Group 6 - (Android framework & IMS-RCS service) * 가 Group 1) [NF1-A-Y] RCS Universal Profile 기능개발 – 이진구님 (6-3) - Rich Communication Service 통신사에서 제공하는 자체 기능 서비스.. 2019. 5. 17.