2. 자료 구조
• 스택, 큐
• 개념 설명이랑 활용 예시를 공부하려했으나...
• 관련 알고리즘 문제 풀어보는 게 더좋을듯!!
대학연합게임제작동아리 브릿지
3. 간단한 개념
• 큐
한쪽 끝에서 자료를 넣고, 다른 쪽 끝에서 자료를 꺼냄
선입선출(FIFO)
• 스택
한쪽 끝에서만 자료를 넣고 뺄 수 있음
후입선출(LIFO)
대학연합게임제작동아리 브릿지
4. 문제1) 짝이 맞지 않는 괄호
• 소녀시대학교 수학과의 류화영 교수는 이번에 다 쓴 논문을
훑어보던 중, 수학에 포함된 괄호들이 제대로 짝이 맞지 않는
다는 사실을 발견했습니다. 류 교수는 컴퓨터 프로그램을 이
용해 괄호가 쌍이 잘 맞는 지를 확인하기로 했습니다.
• 소괄호는 (로 열고, )로 닫습니다
중괄호는 {로 열고, }로 닫습니다
대괄호는 [로열고, ]로 닫습니다
대학연합게임제작동아리 브릿지
5. 문제1) 짝이 맞지 않는 괄호
• 모든괄호는 해당하는 짝이 있어야합니다. (는 )와, {는 }와,
[는 ]와 이뤄야만 합니다.
• 모든 괄호쌍은 먼저 열린 뒤 닫힙니다
• 한 괄호쌍이 다른 괄호 쌍과 서로 교차해 있으면 안됩니다.
[(])는 짝이 맞지 않은 경우입니다.
대학연합게임제작동아리 브릿지
6. 문제1) 짝이 맞지 않는 괄호
• 입력 예제
3
()()
({[}])
({}[(){}])
• 출력 예제
YES
NO
YES
대학연합게임제작동아리 브릿지
7. 문제2) 외계 신호 분석
• 수환이는 외계에서 날라오는 전파를 연구하는 범세계 대규
모프로젝트에 참가하고 있습니다. 외계에서 날아오는 전파
는 전처리를 거쳐 각 숫자가 [1, 10000] 범위 안에 들어가는
자연수 수열로 주어지는데, 이 전파가 단순한 노이즈인지 일
정 패턴을 가지고 있는지 파악해보고 싶습니다.
대학연합게임제작동아리 브릿지
8. 문제2) 외계 신호 분석
• 수환이는 전파의 부분 수열 중 합이 K인 것이 유독 많다는 사
실을 눈치챘습니다. 부분 수열이란 연속된 수열의 일부분을
말합니다.
• 예를들어, 수열 {1, 4, 2, 1, 4, 3, 1, 6}에서 합이 7인 부분 수열
은 다음과 같이 5개 입니다.
{1,4,2}, {4,2,1}, {2,1,4}, {4,3}, {1,6}
대학연합게임제작동아리 브릿지
9. 문제2) 외계 신호 분석
• 입력 생성
입력의 크기가 큰관계로 다음과 같은 식을 통해 프로그램에서 직접 생성
• class RNG{
uint seed;
public RNG(){seed = 1983;}
public uint Next(){
uint ret = seed;
seed = ((seed * 214013) + 2531011);
return ret % 10000 + 1;
}
}
//uint = unsigned int
대학연합게임제작동아리 브릿지
10. 문제2) 외계 신호 분석
• 시간 및 메모리제한
10초 안에 실행되어야 하며 64MB 이하의 메모리를 사용해
야함.
• 입력
테스트 케이스 C(20 이하)
두개의 정수 K(5,000,000 이하), N(50,000,000 이하)
대학연합게임제작동아리 브릿지
11. 문제2) 외계 신호 분석
• 입력 예제
3
8791 20
5265 5000
3578452 5000000
• 출력 예제
1
4
1049
대학연합게임제작동아리 브릿지