(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
[한양대 aloha] 프로그래밍 경진대회 문제_Beginner part
1. 2017 ALOHA 내전
Beginner Division
2017. 5. 14.
Notice
1. 대회 진행 시간은 3 시간입니다.
2. 문제에 별도의 표기가 없는 한 Memory Limit 은 512MB, Stack Memory 의
제한은 8MB 입니다.
3. 대회 및 문제와 관련된 질문은 Domjudge 의 Clarification 기능을 이용하여
주세요.
4. 순위는 해결한 문제가 많은 순, 해결한 문제 수가 같을 경우
페널티(Penalty)가 적은 순 입니다.
Penalty = (해결한 문제들의 최초 Accepted 시각들의 합) + (해결한
문제들의 Accepted 되지 않은 제출 수 * 20min)
출제 - 강수진, 김석기, 김지훈, 백수영, 서유림, 윤동주, 표영권, 편규리
검수 - 윤동주, 정채홍, 허재석
Sponsored By
2. 2
A. WHAT’S HIS NAME?
Time Limit : 1 초
2017 학년도 ALOHA 부회장의 이니셜을 대문자로 출력한다. 단, 성(Family
Name)과 이름(Given Name)의 순으로 출력한다.
입력
입력은 주어지지 않는다.
출력
부회장의 이름의 이니셜을 출력한다.
2017 학년도 ALOHA 부회장의 이름은 Yoon Dong-Ju 이다.
3. 3
B. 스승의 날
Time Limit: 1 초
유진이는 스승의 날을 맞이하여 종이 카네이션을 접기 위해 문구점에 색종
이를 사러 갔다. 카네이션을 접기 위해서는 색종이가 너무 커도, 너무 작아
도 안되기 때문에 적당한 넓이인 색종이가 필요하다. 두 자연수 A, B 가 주어
질 때, 넓이가 A 이상 B 미만인 색종이들의 개수를 유진이에게 알려주자.
입력
첫째 줄에 색종이들의 개수 N, A, B 가 주어진다.
둘째 줄에 색종이들의 넓이 ai (1 ≤ i ≤ N)가 공백으로 구분되어 입력된다.
1 ≤ N, A, B ≤ 1,000, A ≤ B, 1 ≤ ai ≤ 1,000 𝑓𝑜𝑟 1 ≤ 𝑖 ≤ 𝑁,
𝑁, 𝐴, 𝐵, 𝑎𝑖는 모두 자연수
출력
넓이가 A 이상 B 미만인 색종이들의 개수를 출력한다.
예제 입력 예제 출력
8 100 200
300 250 150 400 30 50 120 200
2
150 과 120 만 주어진 범위를 만족하므로 2 개이다.
4. 4
C. 주언이의 기타를 찾아서
Time Limit: 1 초
주언이는 기타를 잃어버렸다. 주언이는 기타가 어디에 있는지 전혀 알지 못
한다. 다만, 주어진 2 X N 모눈종이에서 만들 수 있는 삼각형의 모든 경우의
수를 파악해보면 그 중 한 삼각형 가운데에 기타가 있을 거라고 한다.
예를 들어 N=3 인 경우, 모눈종이는 다음과 같은 모양이다.
위 예제에서 모눈종이의 점들을 골라 삼각형을 만들면 총 18 개의 삼각형을
만들 수 있다. 슬퍼하는 주언이가 빨리 기타를 찾을 수 있도록 모눈종이로
그릴 수 있는 삼각형의 모든 경우의 수를 구해주자!
입력
500 이하의 자연수 N 이 주어진다.
출력
만들 수 있는 삼각형의 모든 경우의 수를 출력한다. 단, 세 개의 점이 일직
선 상에 있는 경우는 삼각형을 만들 수 없다.
예제 입력 예제 출력
3 18
5. 5
D. 종원이의 치킨 집
Time Limit: 1 초
종원이는 컴퓨터공학과에 흥미를 잃고 자퇴하기로 결심한다. 자퇴한 종원이
는 치킨을 매우 좋아하여 치킨집을 차리기로 했다. 종원이는 특이한 간판을
붙여서 눈에 잘 띄게 만들어 다른 치킨집과 차이를 두고 싶었다. 마침 그 때,
꽃집에 걸려 있는 LED 전광판에서 아이디어를 얻어, 간판을 LED 전광판으로
하기로 했다. 그리고 종원이는 전광판이 더욱 더 눈에 잘 띄게 만들고 싶어
서 입력한 문장을 모두 대문자로 바꿔주는 옵션을 추가했다!
전광판은 1 초가 지날 때마다 모든 글자를 왼쪽으로 한 칸씩 이동시키되, 가
장 왼쪽에 있는 글자는 가장 오른쪽 위치에 다시 자리하도록 한다. 예를 들
어, ALOHA 를 전광판에 입력했을 때, 1 초뒤에는 LOHAA 가 되고 2 초 뒤에는
OHAAL 가 되는 것이다.
우리는 종원이가 LED 전광판에 가게 이름을 입력하면 LED 전광판에 가게
이름이 1 초 뒤에 어떻게 나타날지 알려주기로 했다.
입력
알파벳 대소문자로 이루어진 문자열이 주어진다. 문자열의 길이는 100 을 넘
지 않는다.
출력
1 초 뒤에 전광판에 표시될 텍스트를 출력한다. 단, 전광판의 길이는 충분히
길어서 입력한 텍스트의 일부분만 보이는 경우는 발생하지 않는다.
예제 입력 예제 출력
BeomKyu EOMKYUB
6. 6
E. 좌우대칭 강박증 대인이
Time Limit: 1 초
좌우대칭 강박증을 가지고 있는 대인이는 좌우대칭인 단어나 사물을 보면,
마음의 평안을 얻는다. HELP1 을 재수강 하게 된 대인이는 삼수강 만은 면하
기 위해 피나는 노력을 하였다. 하지만, 대인이가 중간 과제를 제출을 할 때
실수로 다른 압축파일을 제출해버려서 0 점을 받았다. 이에 대인이는 극심한
분노를 느끼며 멘붕에 빠지게 된다.
멘붕에 빠진 대인이가 마음의 평안을 얻도록 우리가 좌우대칭인 문자열을
찾아서 보여주도록 하자.
입력
알파벳 소문자로만 구성된 문자열이 주어진다. 문자열의 길이는 1,000 을 넘
지 않는다.
출력
입력된 문자열이 좌우대칭이라면, 그대로 출력한다.
아니라면 -1 을 출력한다.
예제 입력 예제 출력
aloha -1
예제 입력 예제 출력
level level
7. 7
F. 상현이의 초록피라미드
Time Limit :1 초
평소 상현이는 술병으로 피라미드 쌓는 것을 좋아한다.
피라미드의 높이에 대한 강박증이 있는 상현이는 무조건 피라미드를 높게
쌓아야 한다. 병으로 피라미드를 최대한 높게 쌓은 후, 남은 병들은 그 다음
아래 층에 놓고자 한다.
예를 들어 병이 35 개가 있다면 7 층을 만든 후, 그 다음 아래 층인 8 층에는
남은 병 7개를 놓아야 한다. (35=1+2+3+4+5+6+7+7) 피라미드를 최대한 높
게 쌓아 상현이의 기분을 좋게 만들자!
입력
첫째 줄에 병의 개수 N 이 주어진다. (1≤N≤100)
출력
피라미드 모델을 출력한다. 병의 모양은 알파벳 대문자 O 로 한다. 자세한 사
항은 예제 입력과 출력을 참고하자. 단, 같은 층의 병과 병 사이에는 한 칸
의 공백이 있으며, 각 층에서 요구된 개수의 병을 출력한 후에는 공백을 출
력하지 않아도 된다.
예제 입력 예제 출력
6 O
O O
O O O
8. 8
첫 줄에서는 병이 출력되기 전 7 개의 공백이 있고, 두 번째 줄에서는 병이
출력되기 전 6 개의 공백이 있고, 세 번째 줄에서는 병이 출력되기 전 5 개의
공백이 있다.
예제 입력 예제 출력
35 O
O O
O O O
O O O O
O O O O O
O O O O O O
O O O O O O O
O O O O O O O
9. 9
G. 완벽한 자동차
Time Limit : 1 초
재윤이에게는 지나가는 자동차들의 번호를 끼워맞추는 이상한 취미를 가지
고 있다. 일명 ‘자동차번호 끼워맞추기 게임’은 자동차 번호 네 자리 중 앞의
세 자리 숫자들을 모두 곱하거나 모두 더하였을 때, 그 값이 자동차 번호의
가장 마지막 숫자와 같은지를 판별하는 게임이다.
예를 들어, 자동차 번호가 1247 이면, 앞의 세 자리 숫자인 1,2,4 를 모두 더
하였을 때 7 이므로 이 자동차는 ‘완벽한 자동차’이다.
또한 자동차 번호가 1248 이면, 앞의 세 자리 숫자인 1,2,4 를 모두 곱하였을
때 8 이므로 이 자동차도 마찬가지로 ‘완벽한 자동차’이다.
하지만 생각보다 멍청한 재윤이는 계속 틀리고 마는데… 옆에서 안쓰럽게 바
라보던 제인이는 정답을 알려주는 프로그램을 만들고자 한다. 제인이를 도와
프로그램을 만들어보도록 하자.
입력
첫째 줄에 자동차 번호 숫자가 4 개가 공백을 사이에 두고 주어진다. (각 숫
자는 0 부터 9 까지이다.)
출력
완벽한 자동차이면 “PERFECT”를, 완벽하지 않은 자동차이면 “NOT PERFECT”
를 출력한다.
예제 입력 예제 출력
1 2 4 7 PERFECT
예제 입력 예제 출력
2 2 2 7 NOT PERFECT
10. 10
H. 변속곡
Time Limit: 1 초
평소 음악 연주를 좋아하는 지백이는 여러 가지 악보를 접하면서 유독
연주하기를 꺼려하는 곡이 있는데 바로 변속곡이다. 변속곡은 하나의
음악을 연주하는 도중에 빠르기(tempo)가 바뀌기 때문에 여간 힘든
일이 아니다. 지백이는 곡에서 가장 빨랐던 부분과 가장 느렸던
부분의 차이가 D 보다 크면 그 곡은 연주하지 못한다.
변속곡의 빠르기들이 주어질 때 지백이가 연주할 수 있는 적당한
악보를 골라주자.
입력
지백이가 연주 가능한 빠르기의 범위 D(0 ≤ D ≤ 1000)와 악보에서 변속되는
횟수 K(0 ≤ K ≤ 1000)가 먼저 입력되고, 이어서 다음 줄에 K+1 개의 빠르기
정보가 입력된다. 빠르기는 1 부터 1000 까지 사이의 정수만 입력된다.
출력
지백이가 연주 가능하면 “OK” , 그렇지 않다면 “NO” 를 출력한다.
예제 입력 예제 출력
50 2
50 60 45
OK
가장 빠른 빠르기가 60 이고, 가장 느린 빠르기가 45 이어서 둘의 차이는 15
이다. D 보다 크지 않으므로 OK 를 출력한다.
예제 입력 예제 출력
40 3
50 60 45 90
NO
90-45 = 45 > 40(=D). NO
11. 11
I. King Moves
Time Limit : 1 초
Chess 에서 반드시 살아남야아 하는 기물인 King 은 체스판의 중앙에 있을
때에는 대각선을 포함하여 인접한 8 개의 칸으로 움직일 수 있다. 하지만
King 이 모서리에 있게 되는 경우에는 기물이 체스판 바깥으로 나갈 수
없으므로 움직일 수 있는 경우의 수가 줄어드는데, 예를 들어 h8 에 위치할
경우에는 g8, g7, h7 세 군데만 갈 수 있게 된다.
현재 King 의 위치가 주어질 때, King 을 움직일 수 있는 경우의 수를
출력한다. 단, King 을 반드시 움직여야 하며 체스판 위에 다른 기물은 없다고
가정한다.
입력
현재 King 의 위치가 주어진다. a – h 까지의 알파벳 소문자로 몇번째 열에
위치하는지, 1-8 까지의 숫자로 몇번째 행에 위치하는지를 나타내어 a1 와
같이 열을 나타내는 문자가 먼저, 행을 나타내는 문자가 나중에 입력된다.
출력
King 이 움직일 수 있는 경우의 수를 출력한다.
예제 입력 예제 출력
a5 5