SlideShare a Scribd company logo
1 of 17
Download to read offline
제 2 회
한양대학교 프로그래밍 경시대회
-Beginner Division-
2015. 11. 11
주최 및 후원
한양대학교 컴퓨터공학부
한양대학교 ACM-ICPC 대표팀
한양대학교 컴퓨터공학부 특성화사업단
한양대학교 컴퓨터공학부 어코드사업단
㈜ NAVER D2 & NCSOFT
대회 유의사항
1. 대회 진행시간은 3 시간 입니다.
2. 해결한 문제 수, 푸는데 사용한 시간에
따른 페널티로 순위를 결정합니다.
3. 대회 종료 후, 결과 발표 및 시상이
있을 예정입니다.
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 2 / 17
A. 매우 어려운 문제
시간제한 1초
한양대학교에선 매년 학생들의 면학 분위기 조성과 다양한 경험 제공 등의 여러 가지 목적을 가지고 프로그
래밍 대회가 열린다. 한양대학교 프로그래밍 대회는 ACM-ICPC라는 유명한 대학생 프로그래밍 대회와 규칙
을 같게 하며, 양질의 문제를 위하여 실력 있는 ACM-ICPC 본선 진출자들의 도움을 받아 문제를 직접 출제,
검수한다. 다른 곳에선 볼 수 없었던 문제라는 점에서, 또한 그 문제들의 높은 질에서 운영진과 출제진들의
노력이 돋보인다.
또한 이 대회의 상품을 눈이 부실 정도이다. 웬만한 기업의 프로그래밍 대회 상품보다 금액적으로나 규모적
으로나 더 뛰어나다. 실력이 있다면 출전하여 한몫 챙기는 것도 좋은 생각이다. 하지만 상품은 철저히 등수
에 따라 주어지고, 비슷한 생각을 하고 있는(?) 실력자들이 무수히 많이 참가한다. 그러니 방심하지 말라.
대회는 3시간동안 진행되며 각 팀은 그 시간 동안 최선을 다해서 풀 수 있는 최대의 문제를 풀어야 한다. 대
회의 진행 상황은 스코어보드에 그대로 나타나니 참고하자. 대회 종료 1시간 전부터 스코어보드가 더 이상
갱신되지 않는다. 승부는 이때부터! 막판 역전의 꿈을 꿔보자. 물론 쉽게 되진 않는다.
대회가 끝나면 주최측에선 각 팀들의 등수를 공개한다. 앗!! 이런.. 대회 준비는 완벽하게 다 되었지만 마지
막에 각 팀들의 등수를 공개하는 프로그램을 개발하지 않았다. 안되겠다. 대회 중이라 미안하지만 당신들의
도움이 필요하다. 거절은 있을 수 없다. 1등부터 N등까지의 팀들의 번호가 순서대로 주어질 때, 각 팀의 등
수와 번호를 공백을 사이에 두고 출력하는 프로그램을 만들어달라. 운영진만의 힘으론 시간 내에 만들어내기
힘들다. 빠른 시간 안에 만들어야 할 것이므로 매우 어려운 문제가 될 것이다.
예를 들어, 팀의 수가 3팀이고 1등이 3번팀, 2등이 1번팀, 3등이 2번팀이라면,
1 3
2 1
3 2
을 출력하라.
입력
첫째 줄에 테스트 케이스의 개수 T(1≤T≤10)가 주어진다.
두 번째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 참가 팀들의 수 N(1
≤N≤100)이 주어지고, 둘째 줄에 N개의 팀들의 팀 번호가 공백을 사이에 두고 대회 순위가 높은 순서대로
주어진다. 팀의 번호는 항상 1보다 크거나 같고, N보다 작거나 같다. 같은 번호를 갖고 있는 팀은 없다.
출력
각 테스트 케이스에 대해 1등부터 N등까지 한 줄에 하나씩 등수와 팀 번호를 공백을 사이에 두고 출력한다.
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 3 / 17
예제입력 예제출력
3
5
1 2 3 4 5
3
3 1 2
7
6 5 2 4 7 1 3
1 1
2 2
3 3
4 4
5 5
1 3
2 1
3 2
1 6
2 5
3 2
4 4
5 7
6 1
7 3
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 4 / 17
B. 이상한 사랑
시간제한 1초
남중, 남고를 거쳐서 온 조형이는 남자들만 있던 공간에서 드디어 벗어났다. 처음으로 남자와 여자가 모두
있는 한양대학교에 온 조형이는 여자친구를 몹시 사귀고 싶어 한다. 그렇기에 조형이는 자신이 갈 수 있는
모든 미팅에 참여했다. 하지만 안타깝게도 조형이는 수많은 미팅에도 불구하고 단 한명의 여자친구도 사귈
수 없었다. 이 모습을 본 조형이의 절친이며 연애마스터인 경준이는 조형이의 미팅이 실패로 돌아갈 때마다
조형이를 위해 조언을 해준다.
“넌 키가 큰 여자에게 대쉬를 해서 여자친구를 못 사귀는 거야.”
이 말을 들은 조형이는 자신의 잘못을 깨닫고 그 뒤로 미팅에 갈 때마다 미팅에서 가장 키가 작은 여자에게
적극적으로 구애를 했다. 하지만 안타깝게도 바뀐 전략에도 불구하고 조형이는 여자친구를 사귈 수 없었다.
이 모습을 본 경준이는 다시 조형이를 위해 조언을 해준다.
“넌 키가 작은 여자에게 대쉬를 해서 여자친구를 못 사귀는 거야.”
이 말을 들은 조형이는 자신이 여자친구를 못 사귀는 이유를 분명히 찾았다고 생각하며 전략을 수정했다. 미
팅에서 가장 키가 큰 여자와 가장 키가 작은 여자에겐 대쉬를 하지 않는 것이다. 또한 3:3미팅이 가장 여자
친구 사귈 확률이 높다는 이상한 정보를 얻은 조형이는 앞으로 3:3미팅에만 나가고자 한다. 조형이를 위해서
경준이는 미팅에 나올 세 여자의 키를 알아낸 다음 조형이에게 어떤 여자가 키가 가장 작지도 않으면서 가장
크지도 않은 여자인지 알려주려고 한다. 숫자의 대소비교를 잘 하지 못하는 경준이를 위해서 경준이에게 답
을 알려주자.
입력
첫째 줄에 테스트 케이스의 수 T(1≤T≤20)가 주어진다.
두 번째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 3개의 서로 같
지 않은 100~200까지의 정수가 입력된다.
출력
각 테스트 케이스에 대해 한 줄에 하나씩 키가 가장 크지도, 작지도 않은 여자의 키를 출력하자.
예제 입력 예제 출력
5
100 150 200
120 121 122
140 166 151
178 170 181
120 140 141
150
121
151
178
140
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 5 / 17
C. 아쿠아맨
시간제한 1초
박주람(25세, 남)군은 한 평생 수 없이 많은 어장관리를 당해왔다. 어김없이 지난 연애도 어장 안에서 헤엄
치다가 끝나고 난 후에 주람이는 자신이 평생 어장 안에서 헤엄치다가 끝날 운명이라는 것을 깨닫고 말았다.
이에 주람이는 모든 것을 포기하고 자신이 속한 어장의 크기를 구하는 연구에 한 평생을 바치기로 한다. 그
결과 주람이는 자신이 속한 어장을 수치화 해서 표현할 수 있게 되었고 자신이 속한 어장을 2차원 지도로
표현할 수 있게 되었다. 너비 N, 높이가 100인 어장 안에는 N개의 기둥이 있고 이 기둥들 안에 담을 수 있
는 최대 부피가 어장의 크기가 된다.
주람이는 M만큼 인내할 수 있는데, M 보다 어장의 크기가 작거나 같게 되면 주람이는 평생 어장에서 헤엄치
게 되고 이 때 SWIM 을 출력한다. 어장의 크기가 주람이의 인내심 M 보다 크게 되면 주람이는 어장에서
헤엄치다 결국 차이게 된다. 이 때는 DUMPED를 출력한다. 단, 어장의 크기가 0일 경우에는 주람이가 아예
어장에 들어가지 못하므로 처참하게 실패하게 된다. 이 때는 FAIL을 출력한다.
예를 들어, 너비 N이 10이고 기둥의 높이가 각 3, 1, 6, 1, 7, 5, 0, 3, 0, 8인 어장의 크기는 27이다.
입력
첫째 줄에 테스트 케이스의 수 T(1≤T≤100)가 주어진다.
두 번째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트케이스는 첫째 줄에 너비 N(1≤N≤100)
과 주람이의 인내심 M(1≤M≤10,000)이 주어진다. 그 다음 줄에는 N개의 기둥의 높이가 주어진다. 기둥
의 높이는 0이상 100이하이다.
출력
각 테스트 케이스에 대해 한 줄에 하나씩 SWIM, DUMPED, FAIL 중 알맞은 것을 출력한다.
예제입력 예제출력
4
3 1
1 0 1
10 25
3 1 6 1 7 5 0 3 0 8
5 5
3 0 5 0 3
3 1
1 2 1
SWIM
DUMPED
DUMPED
FAIL
뒷장에 이어서 힌트...
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 6 / 17
Hint. 두 번째 예제는 다음과 같은 어장의 형태를 가지고 있으며, 어장의 크기는
위의 그림에서 점 모양이 채워진 부분의 크기로써, 2 + 5 + 2 + 7 + 4 + 7 = 27 이다.
이때, 주람이의 인내심 M 은 25 이므로 인내심 M 보다 어장의 크기가 더 큰 상황이다. 따라서
“DUMPED”를 출력한다.
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 7 / 17
D. 자신을 설명하는 수
시간제한 1초
어려서부터 수학에 큰 관심을 보였던 은빈이는 혼자서 수를 가지고 놀곤 했다. 하지만 많았던 관심에 비해
은빈이의 수학실력은 좋지 못하였고 때문에 친구인 수학 영재 지후에게 맨날 놀림을 당하기 일쑤였다. 어렸
을 때부터 놀림을 받아온 은빈이는 더 이상 참지 못하고 지후에게 제안을 한다.
“내가 수학 퀴즈를 낼 테니까 네가 그 퀴즈를 못 풀면 더 이상 나를 놀리지마!!
하지만 지후는 이조차도 가소롭게 생각하였고 제안을 받아드려 주었다. 막상 제안은 했지만 은빈이의 수학
지식은 매우 부족했다. 지후는 수학 지식이 풍부했기 때문에 지후가 못 맞출 퀴즈를 내려면 지후가 모르는
새로운 내용이 필요했고 은빈이는 이 세상에 없는 새로운 수인 “자신을 설명하는 수”라는 것을 만들게 되었
다. 예를 들어, 61134447444의 자신을 설명하는 수는 6이 1개, 1이 2개, 3이 1개, 4가 3개, 7이 1개, 4가
3개 있으므로 611231437143이다. 이러한 방식으로 611231437143의 자신을 설명하는 수를 구해보면
6112213111413171114131이 된다.
자신을 설명하는 수를 계속 구해보던 은빈이는 규칙을 발견했다. 어떤 수 N에 대해 자신을 설명하는 수를
계속 구해나갈 때 얻을 수 있는 각 수들의 자릿값(Digit, 각 자리의 숫자) 중에서 가장 큰 자릿값(Digit) M
을 구할 수 있다는 사실이다. 예를 들어, N이 892일 경우에는 M이 9가 된다. 왜냐하면 892의 자신을 설명
하는 수는 819121이고 819121의 자신을 설명하는 수는 811191112111이고 자신을 설명하는 수를 계속
구하더라도 9보다 큰 자릿값(Digit)는 나타날 수 없기 때문이다. (자릿값(Digit)는 0~9임을 상기하자!) 따
라서 N = 892일 때는 M = 9 이다.
은빈이는 위의 생각을 바탕으로 지후에게 N을 알려주고 M을 맞춰보라는 수학 퀴즈를 내고자 한다. 은빈이
는 문제를 만드는데 성공했지만 머리를 너무 써버린 탓에 문제의 답까지는 구하지 못했다. 은빈이를 대신해
문제의 답을 구해주고 은빈이가 지후에게 수학 퀴즈를 내서 지후를 기를 꺾을 수 있도록 도와주자.
입력
첫째 줄에는 테스트 케이스의 수 T(1≤T≤50)가 주어진다.
두 번째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 N(1≤N≤10^9)이
주어진다.
출력
각 테스트 케이스에 대해 한 줄에 하나씩 N에 대한 M을 출력한다.
예제입력 예제출력
3
987132
1
1122112211
9
3
3
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 8 / 17
E. Way Back Home
Time Limit 1 second
There was a student named Tae-hoon Kim in Hanyang University. Since it was midterm
examination week, he could not sleep for three days to study. As he finally finished all the exams,
he encountered with unknown masked-man. He started to fight with Tae-hoon. Although Tae-
hoon is great at martial-art, he lost fight due to lack of sleep. When he woke up, he found himself
in Nonsan Training Center. He was to serve a military service for 21 months. Finally he became free
and could go home!
Oops! He is out of his home for a long time and his family has moved their residence. Your task is to
help him find his house.
Input
Your program is to read from standard input. The input consist of T test cases. The number of test
cases, T(1≤T≤100), is given in the first line of input.
Each test case starts with the integer N (3≤N≤100) denoting the size of map.
In the following N lines, for each line, N integers are given denoting whether there is Tae-hoon's
house or not. If there is Tae-hoon's house, it will be denoted as 0. If not, it will be denoted as an
integer between 1 and 10,000. It is guaranteed that there is exactly one 0 in the map.
Output
Your program is to write standard output. For each test case, print the row index and the column
index of Tae-hoon's new house separated by a space in each line.
Sample Input Sample output
2
3
4 3 2
1 0 5
3 6 9
4
12 14 23 43
56 23 45 0
47 98 75 2
56 88 97 10000
2 2
2 4
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 9 / 17
F. 애지문수
시간제한 1초
설현이는 매일 애지문을 통하여 등교를 한다. 그러다 보니 어느덧 항상 계단을 오를 때마다 계단 개수를 세
어보는 버릇이 생기고는 했다. 애지문으로 이르는 계단 수는 78개이고 이를 소인수분해 하면 2x3x13이 된
다. 여기서 영감을 얻은 설현이는 애지문수라는 개념을 만들었다. 애지문수는 소인수들의 집합이 {2,3,13}의
부분집합이고 각각의 소인수들의 차수가 {0,2,3,13} 중 하나인 수를 말한다. 가령 4, 8, 36, 8192는 애지문
수 이고, 16, 81 등은 애지문수가 아니다.
설현이는 애지문수 자체에도 관심이 많았지만, 어떤 정수 둘을 곱하였을 때 애지문수가 되는지 안 되는지도
관심이 많았다. 그래서 N개의 정수가 있을 때, 그 중 중복을 허용하지 않고 2개의 수를 뽑아서 둘을 곱했을
때 애지문수가 되는 경우가 얼마나 되는지 확인하고 싶어졌다.
프로그래밍을 할 줄 모르는 설현이는 N개의 정수 중 2개의 수를 조합하여 애지문수를 만들 수 있는 경우의
수가 얼마나 되는지 직접 계산기를 두들겨 구하고 있다. 설현이를 도와 애지문수를 만들 수 있는 경우의 수
를 구해보자
입력
첫째 줄에는 테스트 케이스의 수 T(1≤T≤10)가 주어진다.
둘째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에는 정수의 개수 N(1≤N
≤1,000)이 주어진다. 둘째 줄부터 10,000이하의 자연수가 N개 주어진다. 이 때 주어지는 자연수는 중복이
없는 유일한 수이며, 어떠한 두 수를 곱했을 때 int형(32-bit)을 넘어가는 경우가 없다는 것이 보장된다.
출력
각 테스트 케이스에 대해 한 줄에 하나씩 N개의 숫자 중 임의의 두 수를 곱하여 애지문수가 되는 경우의 수
를 출력한다.
예제입력 예제출력
1
5
6
5
26
18
52
2
Hint. 6, 5, 26, 18, 52의 5개 수 중 2개를 선택하여 곱한 값이 애지문수가 되는 경우는
6 x 18 = 𝟐 𝟐
× 𝟑 𝟑
= 108 와 26 x 52 = 𝟐 𝟑
× 𝟏𝟑 𝟐
= 1352 두 가지 경우이다.
6 x 18과 18 x 6 같이 순서를 바꿔서 같은 경우는 하나의 경우로 본다.
반면, 13 x 2 와 26 x 1 은 값은 같지만 두 수가 다르므로 서로 다른 두 가지의 경우로 본다.
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 10 / 17
G. 코드 네임 남혁
시간제한 1초
남혁이는 비밀조직 “남혁짱짱파”를 만들었다. 남혁짱짱파는 비밀조직이기 때문에 자신의 정체를 절대 들켜서
는 안 된다. 남혁이는 남혁짱짱파의 비밀요원들이 숫자로 된 코드네임을 통해 활동하면 외부에 정체를 들키
지 않을 수 있다고 생각하였다. 남혁이가 생각한 코드네임을 만드는 방법은 다음과 같다.
1. 자신의 영어이름(소문자)을 한 글자씩 분리한다.
2. 각 글자 별로 a=0, b=1, c=2 ...... x=23, y=24, z=25로 매칭시킨다.
3. 매칭되는 숫자들의 총합을 구한다.
위 과정을 통해서 구한 숫자가 바로 자신의 코드네임이 되는 것이다.
예를 들어, namhyuk이라는 이름의 요원의 코드네임은 아래의 과정으로 구할 수 있다.
요원 namhyuk은 최종적으로 “코드네임 86”을 부여 받는다. 남혁이는 사칙연산에 매우 취약하다. 남혁이를
대신하여 남혁짱짱파의 비밀요원들의 코드네임을 부여해주자.
입력
첫째 줄에는 테스트 케이스의 수 T(1≤T≤15)가 주어진다.
둘째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 비밀요원의 이름이 한
줄에 주어진다. 이름은 영어 알파벳 소문자(lower case)만으로 이루어지며, 30글자를 넘지 않는다.
출력
각 테스트 케이스에 대해 한 줄에 하나씩 비밀요원의 코드네임을 출력한다.
예제입력 예제출력
5
namhyuk
taehee
joonhan
stravinsky
rachmaninoff
86
38
70
148
96
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 11 / 17
H. 크리스마스 트리
시간제한 1초
정욱이는 올해도 크리스마스를 홀로 보내게 되었다. 눈물을 머금고 정욱이는 크리스마스 분위기라도 내보고
자 크리스마스 트리와 전구를 구입하였다. 정욱이는 구입한 전구를 아래의 그림과 같이 1째 줄에 1개, 2째
줄에 2개, 3째 줄에 3개, …… H째 줄에 H개의 전구를 달았다.
여자친구는 없어도 프로그래밍만큼은 자신이 있었던 정욱이는 크리스마스 트리의 스위치를 켜면 전구가 다음
과 같은 규칙으로 깜박거리게 프로그래밍 하였다.
1. I가 H 이하의 자연수일 때, I번째 줄에 있는 전구는 I-1분이 되는 순간 처음 켜진다.
2. 모든 전구는 처음 켜진 후, 1분 간격으로 꺼짐과 켜짐을 반복한다.
모든 게 완벽하다고 생각했지만 문제가 생겼다. 정욱이의 용돈이 얼마 남지 않은 것이다. 전기요금은 전구
하나를 1분 켜는데 1원이라고 한다. 짜증이 난 정욱이는 더 이상 머리를 쓰고 싶어 하지 않는다. 불쌍한 정
욱이를 위해 N분 동안 크리스마스 트리의 스위치를 켰을 때, 전기요금이 얼마나 나올지 구해주자.
입력
첫째 줄에는 테스트 케이스의 수 T(1≤T≤20)가 주어진다.
둘째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 H(1≤H≤1,000)와
N(1≤N≤5,000)이 공백으로 구분되어 주어진다.
출력
각 테스트 케이스에 대해 한 줄에 하나씩 N분 동안 크리스마스 트리의 스위치를 켰을 때, 나올 전기요금을
출력한다.
예제입력 예제출력
5
6 3
3 7
7 7
10 18
21 16
7
19
50
345
444
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 12 / 17
I. 솔로와 솔로와 솔로의 연결고리
시간제한 1초
한양대학교에 다니고 있는 정무, 윤성이, 주홍이는 여자친구가 없다. 믿었던 다른 친구들도 하나 둘씩 여자친
구가 생겨 떠나갔고, 결국 셋만 남게 되었다. 얼마 전 여자친구가 생긴 민철이와 시비가 붙은 주홍이는 “이
게 여자친구도 없는 게 까불어!”라는 민철이의 말에 대꾸조차 못하고 고개를 떨구었다. 이를 본 정무와 윤성
이는 마음이 아파, 주홍이가 재미있어 할 만한 게임으로 주홍이를 위로 해주고자 한다! 곰곰이 고민하던 둘
은 “형! 세상은 둘이 아니라 셋이 사는 거에요!”라며 ‘솔로와 솔로와 솔로의 연결고리’ 라는 게임을 주홍이
에게 제안한다. 게임이 재미있어 보였던 세 명은 당장 대운동장으로 뛰쳐나가 게임을 해보기로 했다. 게임의
규칙은 다음과 같다(이게임은 솔로 세 명만 참가할 수 있도록 만들어 졌다)
< 솔로와 솔로와 솔로의 연결고리 규칙>
① 솔로 세 명이 게임에 참가한다. 1번째 플레이어가 게임의 술래이다. 세 명이 순서대로 플레이를 하
며, 라운드가 지나도 플레이 순서는 바뀌지 않는다.
② 1번째 플레이어(술래)는 출발점에서 아무 방향으로나 정확히 N걸음을 걸어가서 서있는다. N은 1번
째 플레이어의 마음대로 결정한다.
③ 2번째로 플레이 하는 사람은 1번째 플레이어가 서있는 위치에서 출발하며, 1번째 플레이어가 걸어
온 길과 직각이 되도록 걸어가서 서있는다. 이때 2번째 플레이어는 1번째 플레이어의 걸음 수보다
추가로 정확히 M발 더 걸어가야 한다. M은 2번째 플레이어의 마음대로 결정한다.
④ 3번째 플레이어는 2번째 플레이어가 도착한 위치에서, 2번째 플레이어의 걸음 수 보다 정확히 M
발 더 걸어서 맨 처음 출발점으로 돌아가야 한다. 3번째 플레이어가 돌아갈 수 있으면 술래의 패
배, 돌아갈 수 없다면 술래의 승리로 라운드가 끝이 난다. (이 때, 지나치거나 모자람 없이, 정확히
원래 출발점에 도착한 경우를 돌아가는데 성공했다고 정의한다)
⑤ 2,3 번째 플레이어는 한 팀이며, 3번째 플레이어가 출발점에 도착할 수 있도록 해서, 술래를 이기
는 것이 2,3번째 플레이어의 목적이다.
⑥ 걸음 수는 항상 자연수이며, 솔로 세 명의 한 걸음은 모두 보폭이 동일하다.
오늘 게임은 윤성이가 술래를 맡도록 하여, 윤성, 정무, 주홍 순서대로 게임을 진행하기로 하였다. 그런데 막
상 게임을 해보자, 정무와 주홍이는 번번히 패배하기만 하였고, 안 그래도 우울한 주홍이는 더 우울해져 집
에 가려고 했다. 2번째 플레이어를 맡은 정무는 이 게임의 승패는 자신에게 달려있다는 것을 알았다! 윤성이
가 처음 걸어간 걸음 수 N이 주어졌을 때, 정무와 주홍이가 이길 수 있는 추가 걸음 수 M을 찾아주는 프로
그램을 만들어 가여운 솔로들을 도와주자!
입력
첫째 줄에 테스트케이스의 수 T(1≤T≤100)가 주어진다.
각 테스트 케이스 첫째 줄에, 각 줄에 윤성이가 걸어간 걸음의 수 N(0≤N≤100,000)이 주어진다.
출력
각 테스트케이스의 입력에 대해 한 줄에 하나씩 윤성이를 이길 수 있는 추가 걸음 수 M을 출력한다. 만약
윤성이를 이길 수 있는 방법이 없다면 -1을 출력 한다. 정답은 32-bit 정수형을 넘지 않는 범위이다.
예제입력 예제출력
2
6
8
2
-1
Hint. 첫 번째 테스트 케이스의 경우, 윤성이가 6 발 걸어가게 되면, 규칙에 따라 정무가 8 발, 주홍이가
10 발 걸어서 원래 출발점으로 돌아오는 것이 가능하다. 이 때 추가 걸음 수 M 은 2 발.
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 13 / 17
J. 진혁이와 다이아블로3
시간제한 1초
수 많은 게임을 섭렵중인 진혁이는 최근 다이아블로3이란 게임을 시작했다. 다이아블로3은 수 많은 악마들
을 사냥하고 다니는 게임으로 진혁이는 빠른 속도로 악마들을 사냥하고 다니며 강해져 가는 자신을 바라보며
뿌듯해한다. 다이아블로3에서는 차원의 균열이라는 시스템이 있는데 컴퓨터가 무작위 사냥터와 무작위악마들
을 생성해주고 이를 모두 처리하는 기록을 가지고 서로 경쟁을 하는 시스템이다.
차원의 균열 기록을 갱신하고 있는 진혁이는 어떤 무작위 사냥터가 주어지면 사냥터의 악마들을 모두 처리하
는데 걸리는 시간을 ‘다잡았초’ 라고 명명하고 가장 빠르게 악마들을 사냥할 때의 최소 다잡았초를 계산하는
프로그램을 만들려고 한다.
진혁이는 다양한 기술과 공격으로 악마들을 사냥하고 다니지만 자신의 우월함을 뽐내기 위해 아래의 두 가지
기술만을 사용하여 악마들을 사냥하고자 한다.
기술1. 사냥터 전체에 피해를 1 줄 수 있다
기술2. 어느 악마 한 마리를 남은 체력에 상관없이 죽일 수 있다.
진혁이는 1초에 위의 두 가지 기술 중 하나만 선택하여 사용할 수 있다. 두 가지 기술을 적절히 사용하면 진
혁이는 최소한의 시간만 소모하고 모든 악마들을 사냥할 수 있다. 이러한 최소 다잡았초를 구하고 싶은 진혁
이를 도와주자. 행의 크기가 N, 열의 크기가 M인 N*M행렬의 사냥터에 각각의 악마들의 체력에 대한 정보
가 주어질 때 진혁이의 최소 다잡았초를 계산하는 프로그램을 만들어라.
입력
첫째 줄에는 테스트 케이스의 수 T(1≤T≤10)가 주어진다.
둘째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 N(5≤N≤100), M(5≤
M≤100)이 순서대로 입력된다. 둘째 줄부터 N+1줄까지 N*M행렬에 악마들에 대한 정보가 입력된다. 각 악
마들의 체력은 0이상 500이하의 정수이다.
출력
각 테스트 케이스에 대해 한 줄에 하나씩 해당 사냥터에서 진혁이의 최소 다잡았초를 출력한다.
예제입력 예제출력
1
3 3
9 0 2
1 3 3
2 4 5
6
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 14 / 17
K. Hexagon
시간제한 1초
창수는 매우 특별한 육각형모양의 초콜릿을 생일선물로 받았다. 창수는 초콜릿을 관찰한 결과 두 가지 특징
을 알아냈다.
특징 1. 이 육각형퍼즐의 모서리에서 이루는 각이 120°
를 이룬다.
특징 2. 이 육각형 퍼즐은 각 𝑖번째 변이 𝑎𝑖cm 을 이룬다.
창수는 특이한 식습관이 있는데 초콜릿을 먹을 때만큼은 초콜릿을 정확히 각 변이 1cm인 정삼각형모양으로
잘라서 먹으려고 한다는 것이다. 창수는 몇 개의 정삼각형모양의 초콜릿을 먹을 수 있는지 궁금해졌다. 창수
가 최대 몇 개의 정삼각형모양의 초콜릿을 먹을 수 있는지 알려주자!
입력
첫째 줄에 테스트 케이스의 수 T(1≤T≤10,000)가 주어진다.
둘째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 각 육각형의 각 변의 길
이를 의미하는 여섯 개의 양의 정수 𝑎1, 𝑎2, 𝑎3, 𝑎4, 𝑎5, 𝑎6 이 입력으로 주어진다. i가 1이상 5이하일때,
𝑎𝑖 는 𝑎𝑖+1 과 인접해 있으며 𝑎6은 𝑎1과 인접해 있다. 각 변의 길이는 100이하의 자연수이다. 각 변의 길
이로 위의 2가지 성질을 만족하는 육각형이 존재함은 보장된다.
출력
각 테스트 데이터에 대해서 한 줄에 하나씩 창수가 먹을 수 있는 최대한의 정삼각형모양의 초콜릿 개수를 출
력한다.
예제입력 예제출력
2
1 1 1 1 1 1
1 2 1 2 1 2
6
13
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 15 / 17
L. Alt + Tab
시간제한 1초
인터넷 강의를 듣고 있던 재석이는 리그 오브 레전드가 갑자기 하고 싶어졌다. 하지만 어머니에게 딴짓을 하
는 것을 들키면 저녁을 먹을 수 없어서 화면을 재빠르게 전환해야 한다. 재석이의 컴퓨터에서는 Alt 키를 누
른 채로 Tab키를 누르면 Tab 키를 누른 횟수에 따라 창(Window)의 위치가 바뀐다. 특정 시점에서 위쪽에
있는 순서대로 각각의 창(Window)에 1번부터 N번까지 번호(index)를 붙이면, Alt키와 함께 Tab키를 M번
눌렀을 때 M+1번창이 1번창의 위치에 오게 되고, 1번 창은 2번창의 위치로, 2번 창은 3번창의 위치로, 3번
창은 4번창의 위치로, …, M번 째 창은 M+1번창에 오게 된다. M+2번창부터 N번까지의 창은 움직이지 않는
다.
재석이는 리그 오브 레전드만 하지 않고 웹툰도 보고 영화도 보느라 Alt + Tab을 이용한 화면 전환 기능을
여러 번 사용했고 인터넷 강의 창이 어디 있는지 모르고 있다.
재석이가 저녁을 먹을 수 있도록 갑자기 어머니가 들어오셨을 때, 인터넷 강의 창을 가장 위에(1번창의 위치
에) 띄우기 위해서는 Alt키와 함께 Tab키를 몇 번 눌러야 하는지 알려주자.
입력
첫째 줄에 테스트 케이스의 수 T(1≤T≤20)가 주어진다.
둘째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 현재 띄워져 있는 창
(Window)의 개수 2 ≤ N ≤ 1,000, Alt키를 누른 횟수 1 ≤ K ≤ 1,000이 입력된다. 둘째 줄에 Alt키를 누른
횟수 K개에 대해 Alt키와 함께 Tab키까지 같이 누른 횟수가 입력된다. 각각 Tab 키를 누른 횟수는 1이상,
N미만임이 보장된다.
출력
처음 인터넷 강의 창(Window)은 가장 위(1번 창)에 있다. K번의 Alt + Tab 작업 후, 인터넷 강의 창이 가
장 위(1번 창)에 오도록 하기 위해서 Alt 키와 함께 Tab을 몇 번 눌러야 하는지 한 줄에 하나씩 출력한다.
이미 가장 위에 있는 경우는 Tab키를 더 이상 누를 필요가 없으므로 0을 출력한다. 작업 도중 창이 새로 실
행되거나 종료되는 경우, 다른 방법을 이용해서 창을 전환하는 경우는 없다.
예제입력 예제출력
2
3 1
2
10 5
6 4 8 8 7
1
5
뒷장에 이어서 힌트...
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 16 / 17
Hint. 두번째 테스트케이스에 대한 설명이다. 처음 A~J 까지 10 개의 창이 있을 때 총 5 번의 Alt + Tab
작업을 시행한다. 이 때, “인터넷 강의 창(Window)”은 가장 위에 있는 A 이다.
첫번째, Alt 키와 함께 Tab 키를 6 번 눌렀을 때 (6+1) 번째에 있는 G 가 1 번째 창의 위치에 오고,
2~6 번째 창은 뒤로 한 위치씩 밀린다. (6+2) ~10 번째 창은 위치에 변동이 없음에 유의하자.
같은 방식으로 Tab 키를 4, 8, 8, 7 회 누르고 난 후의 상황에서 “인터넷 강의 창”인 A 를 가장 앞에
가져오기 위해서는 Alt 키와 함께 Tab 키를 5 번 눌러야 한다. 따라서 5 을 출력한다.
Tab A B C D E F G H I J
6 G A B C D E F H I J
4 D G A B C E F H I J
8 I D G A B C E F H J
8 H I D G A B C E F J
7 E H I D G A B C F J
5 A E H I D G B C F J
2015 한양대학교 프로그래밍 경시대회(Beginner Division)
페이지 17 / 17
M. 리그 오브 뉴커
시간제한 1초
동훈이는 게임을 아주 좋아하는 아이이다. 그는 게임들 중에서도 특히 리그 오브 뉴커라는 게임을 좋아한다.
리그 오브 뉴커의 게임 목표는 자신의 영웅을 조종해서 상대방 영웅을 처치하는 것과 상대팀의 포탑을 부수
는 것이다. 여러 사람이 동시에 플레이 하는 리그 오브 뉴커에는 여러 가지 포지션이 있다.
탑, 미드, 정글, 원딜, 서포터
멋을 추구하는 동훈이는 그 포지션들 중에서 리그 오브 뉴커에서 가장 빛이 나며 멋이 있는 미드만 고집하여
미드가 아닌 다른 포지션에는 눈길조차 주지 않는다.
또한 동훈이는 인생은 한방이라는 모토를 가지고 평생을 살아왔다. 아이템을 살 때도 한방에, 상대방 영웅에
게 죽을 때도 한방에, 상대방 영웅을 처치 할 때도 한방에 죽이려고 노력한다. 자신의 영웅의 기술 피해량이
상대방의 체력보다 같거나 큰 경우 한 방에 상대방 영웅을 제거할 수 있다.
안타깝게도 뺄셈을 잘 하지 못하는 동훈이는 자신의 영웅이 상대방 영웅을 한방에 처치할 수 있는 지 알 방
법이 없다. 다행히 동훈이는 자신이 조종하는 영웅의 기술의 피해량을 알고 있다. 상대방의 영웅의 수는 항
상 5명이며, 이 중 동훈이의 영웅이 한 방에 제거할 수 있는 영웅의 수를 알아보자
입력
첫째 줄에 테스트 케이스의 수 T(1≤T≤10)가 주어진다.
둘째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 영웅의 기술이 상대방에
게 한 번에 줄 수 있는 피해량이 정수 N(0≤N≤1,000)으로 주어진다. 둘째 줄에 상대방 영웅 5명의 체력
이 공백으로 구분되어 주어지며 체력은 1,000이하의 자연수이다.
출력
각 테스트 케이스에 대해 한방에 제거할 수 있는 상대방 영웅의 수가 3명 이상이면 “CARRY"를, 아니면
“DODGE"를 한 줄에 하나씩 출력한다.
예제 입력 예제 출력
2
100
30 60 90 120 150
99
90 100 100 100 100
CARRY
DODGE

More Related Content

What's hot

한양대학교 ALOHA - 봄내전대회_C언어반
 한양대학교 ALOHA - 봄내전대회_C언어반 한양대학교 ALOHA - 봄내전대회_C언어반
한양대학교 ALOHA - 봄내전대회_C언어반NAVER D2
 
[한양대 aloha] 프로그래밍 경진대회 문제_advanced part
[한양대 aloha] 프로그래밍 경진대회 문제_advanced part[한양대 aloha] 프로그래밍 경진대회 문제_advanced part
[한양대 aloha] 프로그래밍 경진대회 문제_advanced partNAVER D2
 
[SHAKE] 경인지역 6개연합 프로그래밍 경시대회 - 본선문제
[SHAKE] 경인지역 6개연합 프로그래밍 경시대회 - 본선문제[SHAKE] 경인지역 6개연합 프로그래밍 경시대회 - 본선문제
[SHAKE] 경인지역 6개연합 프로그래밍 경시대회 - 본선문제NAVER D2
 
서울대학교 2017 SNUPC 문제 - Advanced
서울대학교 2017 SNUPC 문제 -  Advanced서울대학교 2017 SNUPC 문제 -  Advanced
서울대학교 2017 SNUPC 문제 - AdvancedNAVER D2
 
[KAIST - RUN] 프로그래밍 경진대회 문제
[KAIST - RUN] 프로그래밍 경진대회 문제[KAIST - RUN] 프로그래밍 경진대회 문제
[KAIST - RUN] 프로그래밍 경진대회 문제NAVER D2
 
KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 문제
KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 문제KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 문제
KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 문제NAVER D2
 
인하대 프로그래밍 경진대회 - 문제
인하대 프로그래밍 경진대회 - 문제인하대 프로그래밍 경진대회 - 문제
인하대 프로그래밍 경진대회 - 문제NAVER D2
 
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제NAVER D2
 
[연세대 모르고리즘] 프로그래밍 경진대회 문제 풀이
[연세대 모르고리즘] 프로그래밍 경진대회 문제 풀이[연세대 모르고리즘] 프로그래밍 경진대회 문제 풀이
[연세대 모르고리즘] 프로그래밍 경진대회 문제 풀이NAVER D2
 
[KAIST - RUN] 프로그래밍 경진대회 문제 풀이
[KAIST - RUN] 프로그래밍 경진대회 문제 풀이[KAIST - RUN] 프로그래밍 경진대회 문제 풀이
[KAIST - RUN] 프로그래밍 경진대회 문제 풀이NAVER D2
 
[D2 CAMPUS] 숭실대 SCCC 프로그래밍 경시대회 문제 풀이
[D2 CAMPUS] 숭실대 SCCC 프로그래밍 경시대회 문제 풀이[D2 CAMPUS] 숭실대 SCCC 프로그래밍 경시대회 문제 풀이
[D2 CAMPUS] 숭실대 SCCC 프로그래밍 경시대회 문제 풀이NAVER D2
 
한양대 2017 hcpc advanced division 문제
한양대 2017 hcpc advanced division 문제한양대 2017 hcpc advanced division 문제
한양대 2017 hcpc advanced division 문제NAVER D2
 
서울대학교 2017 SNUPC 문제
서울대학교 2017 SNUPC 문제서울대학교 2017 SNUPC 문제
서울대학교 2017 SNUPC 문제NAVER D2
 
KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 풀이
KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 풀이KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 풀이
KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 풀이NAVER D2
 
쏙 알고스터디 01
쏙 알고스터디 01쏙 알고스터디 01
쏙 알고스터디 01Jisu Lee
 
세미나
세미나세미나
세미나Dongyi Kim
 
[D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이
[D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이[D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이
[D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이NAVER D2
 
shake! 2016 예선 문제 풀이
shake! 2016 예선 문제 풀이shake! 2016 예선 문제 풀이
shake! 2016 예선 문제 풀이HYUNJEONG KIM
 
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이NAVER D2
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programmingEunjin Song
 

What's hot (20)

한양대학교 ALOHA - 봄내전대회_C언어반
 한양대학교 ALOHA - 봄내전대회_C언어반 한양대학교 ALOHA - 봄내전대회_C언어반
한양대학교 ALOHA - 봄내전대회_C언어반
 
[한양대 aloha] 프로그래밍 경진대회 문제_advanced part
[한양대 aloha] 프로그래밍 경진대회 문제_advanced part[한양대 aloha] 프로그래밍 경진대회 문제_advanced part
[한양대 aloha] 프로그래밍 경진대회 문제_advanced part
 
[SHAKE] 경인지역 6개연합 프로그래밍 경시대회 - 본선문제
[SHAKE] 경인지역 6개연합 프로그래밍 경시대회 - 본선문제[SHAKE] 경인지역 6개연합 프로그래밍 경시대회 - 본선문제
[SHAKE] 경인지역 6개연합 프로그래밍 경시대회 - 본선문제
 
서울대학교 2017 SNUPC 문제 - Advanced
서울대학교 2017 SNUPC 문제 -  Advanced서울대학교 2017 SNUPC 문제 -  Advanced
서울대학교 2017 SNUPC 문제 - Advanced
 
[KAIST - RUN] 프로그래밍 경진대회 문제
[KAIST - RUN] 프로그래밍 경진대회 문제[KAIST - RUN] 프로그래밍 경진대회 문제
[KAIST - RUN] 프로그래밍 경진대회 문제
 
KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 문제
KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 문제KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 문제
KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 문제
 
인하대 프로그래밍 경진대회 - 문제
인하대 프로그래밍 경진대회 - 문제인하대 프로그래밍 경진대회 - 문제
인하대 프로그래밍 경진대회 - 문제
 
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제
 
[연세대 모르고리즘] 프로그래밍 경진대회 문제 풀이
[연세대 모르고리즘] 프로그래밍 경진대회 문제 풀이[연세대 모르고리즘] 프로그래밍 경진대회 문제 풀이
[연세대 모르고리즘] 프로그래밍 경진대회 문제 풀이
 
[KAIST - RUN] 프로그래밍 경진대회 문제 풀이
[KAIST - RUN] 프로그래밍 경진대회 문제 풀이[KAIST - RUN] 프로그래밍 경진대회 문제 풀이
[KAIST - RUN] 프로그래밍 경진대회 문제 풀이
 
[D2 CAMPUS] 숭실대 SCCC 프로그래밍 경시대회 문제 풀이
[D2 CAMPUS] 숭실대 SCCC 프로그래밍 경시대회 문제 풀이[D2 CAMPUS] 숭실대 SCCC 프로그래밍 경시대회 문제 풀이
[D2 CAMPUS] 숭실대 SCCC 프로그래밍 경시대회 문제 풀이
 
한양대 2017 hcpc advanced division 문제
한양대 2017 hcpc advanced division 문제한양대 2017 hcpc advanced division 문제
한양대 2017 hcpc advanced division 문제
 
서울대학교 2017 SNUPC 문제
서울대학교 2017 SNUPC 문제서울대학교 2017 SNUPC 문제
서울대학교 2017 SNUPC 문제
 
KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 풀이
KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 풀이KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 풀이
KAIST RUN 교내 ACM-ICPC 모의대회 Advanced division 풀이
 
쏙 알고스터디 01
쏙 알고스터디 01쏙 알고스터디 01
쏙 알고스터디 01
 
세미나
세미나세미나
세미나
 
[D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이
[D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이[D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이
[D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이
 
shake! 2016 예선 문제 풀이
shake! 2016 예선 문제 풀이shake! 2016 예선 문제 풀이
shake! 2016 예선 문제 풀이
 
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programming
 

Viewers also liked

Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?nexusz99
 
Softcon hack your_service
Softcon hack your_serviceSoftcon hack your_service
Softcon hack your_serviceHeoGyu
 
경희대학교 Softcon 발표자료(2015/11/21)
경희대학교 Softcon 발표자료(2015/11/21)경희대학교 Softcon 발표자료(2015/11/21)
경희대학교 Softcon 발표자료(2015/11/21)Ahn Kyewan
 
[SoftCon]SDN/IoT 그리고 Testbed
[SoftCon]SDN/IoT 그리고 Testbed[SoftCon]SDN/IoT 그리고 Testbed
[SoftCon]SDN/IoT 그리고 Testbedsangyun han
 
스타트업 & 벤처기업
스타트업 & 벤처기업스타트업 & 벤처기업
스타트업 & 벤처기업hemarkum
 
Memcached의 확장성 개선
Memcached의 확장성 개선Memcached의 확장성 개선
Memcached의 확장성 개선NAVER D2
 
(Tugdual grall) no sql-hadoop
(Tugdual grall)   no sql-hadoop(Tugdual grall)   no sql-hadoop
(Tugdual grall) no sql-hadoopNAVER D2
 
Christmas CTF 보안대회 수상팀 문제풀이서(팀명:구운순살치즈치킨)
Christmas CTF 보안대회 수상팀 문제풀이서(팀명:구운순살치즈치킨)Christmas CTF 보안대회 수상팀 문제풀이서(팀명:구운순살치즈치킨)
Christmas CTF 보안대회 수상팀 문제풀이서(팀명:구운순살치즈치킨)NAVER D2
 
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - HTML, Android Animation
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - HTML, Android Animation[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - HTML, Android Animation
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - HTML, Android AnimationNAVER D2
 
The platform 2011
The platform 2011The platform 2011
The platform 2011NAVER D2
 
[D2 오픈세미나]2.모바일웹디버깅
[D2 오픈세미나]2.모바일웹디버깅[D2 오픈세미나]2.모바일웹디버깅
[D2 오픈세미나]2.모바일웹디버깅NAVER D2
 
[D2 오픈세미나]1.무한스크롤성능개선
[D2 오픈세미나]1.무한스크롤성능개선[D2 오픈세미나]1.무한스크롤성능개선
[D2 오픈세미나]1.무한스크롤성능개선NAVER D2
 
성준영 소프트콘 발표
성준영 소프트콘 발표성준영 소프트콘 발표
성준영 소프트콘 발표Junyoung Sung
 
[D2 오픈세미나]5.robolectric 안드로이드 테스팅
[D2 오픈세미나]5.robolectric 안드로이드 테스팅[D2 오픈세미나]5.robolectric 안드로이드 테스팅
[D2 오픈세미나]5.robolectric 안드로이드 테스팅NAVER D2
 
집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking
집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking
집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & RankingIan Choi
 
[D2대학생세미나]산넘어 산, 음원서비스 세이렌 개발기
[D2대학생세미나]산넘어 산, 음원서비스 세이렌 개발기[D2대학생세미나]산넘어 산, 음원서비스 세이렌 개발기
[D2대학생세미나]산넘어 산, 음원서비스 세이렌 개발기NAVER D2
 
[D2 오픈세미나]2.browser engine 이형욱_20140523
[D2 오픈세미나]2.browser engine 이형욱_20140523[D2 오픈세미나]2.browser engine 이형욱_20140523
[D2 오픈세미나]2.browser engine 이형욱_20140523NAVER D2
 
[Hello world]nodejs helloworld chaesuwon
[Hello world]nodejs helloworld chaesuwon[Hello world]nodejs helloworld chaesuwon
[Hello world]nodejs helloworld chaesuwonNAVER D2
 
[Hello world]git internal
[Hello world]git internal[Hello world]git internal
[Hello world]git internalNAVER D2
 

Viewers also liked (20)

Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
 
OpenStack!
OpenStack!OpenStack!
OpenStack!
 
Softcon hack your_service
Softcon hack your_serviceSoftcon hack your_service
Softcon hack your_service
 
경희대학교 Softcon 발표자료(2015/11/21)
경희대학교 Softcon 발표자료(2015/11/21)경희대학교 Softcon 발표자료(2015/11/21)
경희대학교 Softcon 발표자료(2015/11/21)
 
[SoftCon]SDN/IoT 그리고 Testbed
[SoftCon]SDN/IoT 그리고 Testbed[SoftCon]SDN/IoT 그리고 Testbed
[SoftCon]SDN/IoT 그리고 Testbed
 
스타트업 & 벤처기업
스타트업 & 벤처기업스타트업 & 벤처기업
스타트업 & 벤처기업
 
Memcached의 확장성 개선
Memcached의 확장성 개선Memcached의 확장성 개선
Memcached의 확장성 개선
 
(Tugdual grall) no sql-hadoop
(Tugdual grall)   no sql-hadoop(Tugdual grall)   no sql-hadoop
(Tugdual grall) no sql-hadoop
 
Christmas CTF 보안대회 수상팀 문제풀이서(팀명:구운순살치즈치킨)
Christmas CTF 보안대회 수상팀 문제풀이서(팀명:구운순살치즈치킨)Christmas CTF 보안대회 수상팀 문제풀이서(팀명:구운순살치즈치킨)
Christmas CTF 보안대회 수상팀 문제풀이서(팀명:구운순살치즈치킨)
 
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - HTML, Android Animation
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - HTML, Android Animation[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - HTML, Android Animation
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - HTML, Android Animation
 
The platform 2011
The platform 2011The platform 2011
The platform 2011
 
[D2 오픈세미나]2.모바일웹디버깅
[D2 오픈세미나]2.모바일웹디버깅[D2 오픈세미나]2.모바일웹디버깅
[D2 오픈세미나]2.모바일웹디버깅
 
[D2 오픈세미나]1.무한스크롤성능개선
[D2 오픈세미나]1.무한스크롤성능개선[D2 오픈세미나]1.무한스크롤성능개선
[D2 오픈세미나]1.무한스크롤성능개선
 
성준영 소프트콘 발표
성준영 소프트콘 발표성준영 소프트콘 발표
성준영 소프트콘 발표
 
[D2 오픈세미나]5.robolectric 안드로이드 테스팅
[D2 오픈세미나]5.robolectric 안드로이드 테스팅[D2 오픈세미나]5.robolectric 안드로이드 테스팅
[D2 오픈세미나]5.robolectric 안드로이드 테스팅
 
집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking
집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking
집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking
 
[D2대학생세미나]산넘어 산, 음원서비스 세이렌 개발기
[D2대학생세미나]산넘어 산, 음원서비스 세이렌 개발기[D2대학생세미나]산넘어 산, 음원서비스 세이렌 개발기
[D2대학생세미나]산넘어 산, 음원서비스 세이렌 개발기
 
[D2 오픈세미나]2.browser engine 이형욱_20140523
[D2 오픈세미나]2.browser engine 이형욱_20140523[D2 오픈세미나]2.browser engine 이형욱_20140523
[D2 오픈세미나]2.browser engine 이형욱_20140523
 
[Hello world]nodejs helloworld chaesuwon
[Hello world]nodejs helloworld chaesuwon[Hello world]nodejs helloworld chaesuwon
[Hello world]nodejs helloworld chaesuwon
 
[Hello world]git internal
[Hello world]git internal[Hello world]git internal
[Hello world]git internal
 

Similar to 2015 한양대학교 프로그래밍 경시대회 - beginner division

SHAKE! 본선 해설
SHAKE! 본선 해설SHAKE! 본선 해설
SHAKE! 본선 해설Sun-young Kim
 
2018 Ajou Programming Contest solutions
2018 Ajou Programming Contest solutions2018 Ajou Programming Contest solutions
2018 Ajou Programming Contest solutions현정 김
 
2019 홍익대학교 프로그래밍 경진대회 풀이 슬라이드 (Open Contest용)
2019 홍익대학교 프로그래밍 경진대회 풀이 슬라이드 (Open Contest용)2019 홍익대학교 프로그래밍 경진대회 풀이 슬라이드 (Open Contest용)
2019 홍익대학교 프로그래밍 경진대회 풀이 슬라이드 (Open Contest용)GreenJung1
 
2019 경인지역 6개대학 연합 프로그래밍 경시대회 shake! 풀이
2019 경인지역 6개대학 연합 프로그래밍 경시대회 shake! 풀이2019 경인지역 6개대학 연합 프로그래밍 경시대회 shake! 풀이
2019 경인지역 6개대학 연합 프로그래밍 경시대회 shake! 풀이현정 김
 
Amugona 알고리즘 스터디5회
Amugona 알고리즘 스터디5회Amugona 알고리즘 스터디5회
Amugona 알고리즘 스터디5회정완 전
 

Similar to 2015 한양대학교 프로그래밍 경시대회 - beginner division (6)

SHAKE! 본선 해설
SHAKE! 본선 해설SHAKE! 본선 해설
SHAKE! 본선 해설
 
internetinternet
internetinternetinternetinternet
internetinternet
 
2018 Ajou Programming Contest solutions
2018 Ajou Programming Contest solutions2018 Ajou Programming Contest solutions
2018 Ajou Programming Contest solutions
 
2019 홍익대학교 프로그래밍 경진대회 풀이 슬라이드 (Open Contest용)
2019 홍익대학교 프로그래밍 경진대회 풀이 슬라이드 (Open Contest용)2019 홍익대학교 프로그래밍 경진대회 풀이 슬라이드 (Open Contest용)
2019 홍익대학교 프로그래밍 경진대회 풀이 슬라이드 (Open Contest용)
 
2019 경인지역 6개대학 연합 프로그래밍 경시대회 shake! 풀이
2019 경인지역 6개대학 연합 프로그래밍 경시대회 shake! 풀이2019 경인지역 6개대학 연합 프로그래밍 경시대회 shake! 풀이
2019 경인지역 6개대학 연합 프로그래밍 경시대회 shake! 풀이
 
Amugona 알고리즘 스터디5회
Amugona 알고리즘 스터디5회Amugona 알고리즘 스터디5회
Amugona 알고리즘 스터디5회
 

More from NAVER D2

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다NAVER D2
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...NAVER D2
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기NAVER D2
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발NAVER D2
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈NAVER D2
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&ANAVER D2
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기NAVER D2
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep LearningNAVER D2
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applicationsNAVER D2
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingNAVER D2
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지NAVER D2
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기NAVER D2
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화NAVER D2
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)NAVER D2
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기NAVER D2
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual SearchNAVER D2
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화NAVER D2
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지NAVER D2
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터NAVER D2
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?NAVER D2
 

More from NAVER D2 (20)

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
 

2015 한양대학교 프로그래밍 경시대회 - beginner division

  • 1. 제 2 회 한양대학교 프로그래밍 경시대회 -Beginner Division- 2015. 11. 11 주최 및 후원 한양대학교 컴퓨터공학부 한양대학교 ACM-ICPC 대표팀 한양대학교 컴퓨터공학부 특성화사업단 한양대학교 컴퓨터공학부 어코드사업단 ㈜ NAVER D2 & NCSOFT 대회 유의사항 1. 대회 진행시간은 3 시간 입니다. 2. 해결한 문제 수, 푸는데 사용한 시간에 따른 페널티로 순위를 결정합니다. 3. 대회 종료 후, 결과 발표 및 시상이 있을 예정입니다.
  • 2. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 2 / 17 A. 매우 어려운 문제 시간제한 1초 한양대학교에선 매년 학생들의 면학 분위기 조성과 다양한 경험 제공 등의 여러 가지 목적을 가지고 프로그 래밍 대회가 열린다. 한양대학교 프로그래밍 대회는 ACM-ICPC라는 유명한 대학생 프로그래밍 대회와 규칙 을 같게 하며, 양질의 문제를 위하여 실력 있는 ACM-ICPC 본선 진출자들의 도움을 받아 문제를 직접 출제, 검수한다. 다른 곳에선 볼 수 없었던 문제라는 점에서, 또한 그 문제들의 높은 질에서 운영진과 출제진들의 노력이 돋보인다. 또한 이 대회의 상품을 눈이 부실 정도이다. 웬만한 기업의 프로그래밍 대회 상품보다 금액적으로나 규모적 으로나 더 뛰어나다. 실력이 있다면 출전하여 한몫 챙기는 것도 좋은 생각이다. 하지만 상품은 철저히 등수 에 따라 주어지고, 비슷한 생각을 하고 있는(?) 실력자들이 무수히 많이 참가한다. 그러니 방심하지 말라. 대회는 3시간동안 진행되며 각 팀은 그 시간 동안 최선을 다해서 풀 수 있는 최대의 문제를 풀어야 한다. 대 회의 진행 상황은 스코어보드에 그대로 나타나니 참고하자. 대회 종료 1시간 전부터 스코어보드가 더 이상 갱신되지 않는다. 승부는 이때부터! 막판 역전의 꿈을 꿔보자. 물론 쉽게 되진 않는다. 대회가 끝나면 주최측에선 각 팀들의 등수를 공개한다. 앗!! 이런.. 대회 준비는 완벽하게 다 되었지만 마지 막에 각 팀들의 등수를 공개하는 프로그램을 개발하지 않았다. 안되겠다. 대회 중이라 미안하지만 당신들의 도움이 필요하다. 거절은 있을 수 없다. 1등부터 N등까지의 팀들의 번호가 순서대로 주어질 때, 각 팀의 등 수와 번호를 공백을 사이에 두고 출력하는 프로그램을 만들어달라. 운영진만의 힘으론 시간 내에 만들어내기 힘들다. 빠른 시간 안에 만들어야 할 것이므로 매우 어려운 문제가 될 것이다. 예를 들어, 팀의 수가 3팀이고 1등이 3번팀, 2등이 1번팀, 3등이 2번팀이라면, 1 3 2 1 3 2 을 출력하라. 입력 첫째 줄에 테스트 케이스의 개수 T(1≤T≤10)가 주어진다. 두 번째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 참가 팀들의 수 N(1 ≤N≤100)이 주어지고, 둘째 줄에 N개의 팀들의 팀 번호가 공백을 사이에 두고 대회 순위가 높은 순서대로 주어진다. 팀의 번호는 항상 1보다 크거나 같고, N보다 작거나 같다. 같은 번호를 갖고 있는 팀은 없다. 출력 각 테스트 케이스에 대해 1등부터 N등까지 한 줄에 하나씩 등수와 팀 번호를 공백을 사이에 두고 출력한다.
  • 3. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 3 / 17 예제입력 예제출력 3 5 1 2 3 4 5 3 3 1 2 7 6 5 2 4 7 1 3 1 1 2 2 3 3 4 4 5 5 1 3 2 1 3 2 1 6 2 5 3 2 4 4 5 7 6 1 7 3
  • 4. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 4 / 17 B. 이상한 사랑 시간제한 1초 남중, 남고를 거쳐서 온 조형이는 남자들만 있던 공간에서 드디어 벗어났다. 처음으로 남자와 여자가 모두 있는 한양대학교에 온 조형이는 여자친구를 몹시 사귀고 싶어 한다. 그렇기에 조형이는 자신이 갈 수 있는 모든 미팅에 참여했다. 하지만 안타깝게도 조형이는 수많은 미팅에도 불구하고 단 한명의 여자친구도 사귈 수 없었다. 이 모습을 본 조형이의 절친이며 연애마스터인 경준이는 조형이의 미팅이 실패로 돌아갈 때마다 조형이를 위해 조언을 해준다. “넌 키가 큰 여자에게 대쉬를 해서 여자친구를 못 사귀는 거야.” 이 말을 들은 조형이는 자신의 잘못을 깨닫고 그 뒤로 미팅에 갈 때마다 미팅에서 가장 키가 작은 여자에게 적극적으로 구애를 했다. 하지만 안타깝게도 바뀐 전략에도 불구하고 조형이는 여자친구를 사귈 수 없었다. 이 모습을 본 경준이는 다시 조형이를 위해 조언을 해준다. “넌 키가 작은 여자에게 대쉬를 해서 여자친구를 못 사귀는 거야.” 이 말을 들은 조형이는 자신이 여자친구를 못 사귀는 이유를 분명히 찾았다고 생각하며 전략을 수정했다. 미 팅에서 가장 키가 큰 여자와 가장 키가 작은 여자에겐 대쉬를 하지 않는 것이다. 또한 3:3미팅이 가장 여자 친구 사귈 확률이 높다는 이상한 정보를 얻은 조형이는 앞으로 3:3미팅에만 나가고자 한다. 조형이를 위해서 경준이는 미팅에 나올 세 여자의 키를 알아낸 다음 조형이에게 어떤 여자가 키가 가장 작지도 않으면서 가장 크지도 않은 여자인지 알려주려고 한다. 숫자의 대소비교를 잘 하지 못하는 경준이를 위해서 경준이에게 답 을 알려주자. 입력 첫째 줄에 테스트 케이스의 수 T(1≤T≤20)가 주어진다. 두 번째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 3개의 서로 같 지 않은 100~200까지의 정수가 입력된다. 출력 각 테스트 케이스에 대해 한 줄에 하나씩 키가 가장 크지도, 작지도 않은 여자의 키를 출력하자. 예제 입력 예제 출력 5 100 150 200 120 121 122 140 166 151 178 170 181 120 140 141 150 121 151 178 140
  • 5. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 5 / 17 C. 아쿠아맨 시간제한 1초 박주람(25세, 남)군은 한 평생 수 없이 많은 어장관리를 당해왔다. 어김없이 지난 연애도 어장 안에서 헤엄 치다가 끝나고 난 후에 주람이는 자신이 평생 어장 안에서 헤엄치다가 끝날 운명이라는 것을 깨닫고 말았다. 이에 주람이는 모든 것을 포기하고 자신이 속한 어장의 크기를 구하는 연구에 한 평생을 바치기로 한다. 그 결과 주람이는 자신이 속한 어장을 수치화 해서 표현할 수 있게 되었고 자신이 속한 어장을 2차원 지도로 표현할 수 있게 되었다. 너비 N, 높이가 100인 어장 안에는 N개의 기둥이 있고 이 기둥들 안에 담을 수 있 는 최대 부피가 어장의 크기가 된다. 주람이는 M만큼 인내할 수 있는데, M 보다 어장의 크기가 작거나 같게 되면 주람이는 평생 어장에서 헤엄치 게 되고 이 때 SWIM 을 출력한다. 어장의 크기가 주람이의 인내심 M 보다 크게 되면 주람이는 어장에서 헤엄치다 결국 차이게 된다. 이 때는 DUMPED를 출력한다. 단, 어장의 크기가 0일 경우에는 주람이가 아예 어장에 들어가지 못하므로 처참하게 실패하게 된다. 이 때는 FAIL을 출력한다. 예를 들어, 너비 N이 10이고 기둥의 높이가 각 3, 1, 6, 1, 7, 5, 0, 3, 0, 8인 어장의 크기는 27이다. 입력 첫째 줄에 테스트 케이스의 수 T(1≤T≤100)가 주어진다. 두 번째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트케이스는 첫째 줄에 너비 N(1≤N≤100) 과 주람이의 인내심 M(1≤M≤10,000)이 주어진다. 그 다음 줄에는 N개의 기둥의 높이가 주어진다. 기둥 의 높이는 0이상 100이하이다. 출력 각 테스트 케이스에 대해 한 줄에 하나씩 SWIM, DUMPED, FAIL 중 알맞은 것을 출력한다. 예제입력 예제출력 4 3 1 1 0 1 10 25 3 1 6 1 7 5 0 3 0 8 5 5 3 0 5 0 3 3 1 1 2 1 SWIM DUMPED DUMPED FAIL 뒷장에 이어서 힌트...
  • 6. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 6 / 17 Hint. 두 번째 예제는 다음과 같은 어장의 형태를 가지고 있으며, 어장의 크기는 위의 그림에서 점 모양이 채워진 부분의 크기로써, 2 + 5 + 2 + 7 + 4 + 7 = 27 이다. 이때, 주람이의 인내심 M 은 25 이므로 인내심 M 보다 어장의 크기가 더 큰 상황이다. 따라서 “DUMPED”를 출력한다.
  • 7. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 7 / 17 D. 자신을 설명하는 수 시간제한 1초 어려서부터 수학에 큰 관심을 보였던 은빈이는 혼자서 수를 가지고 놀곤 했다. 하지만 많았던 관심에 비해 은빈이의 수학실력은 좋지 못하였고 때문에 친구인 수학 영재 지후에게 맨날 놀림을 당하기 일쑤였다. 어렸 을 때부터 놀림을 받아온 은빈이는 더 이상 참지 못하고 지후에게 제안을 한다. “내가 수학 퀴즈를 낼 테니까 네가 그 퀴즈를 못 풀면 더 이상 나를 놀리지마!! 하지만 지후는 이조차도 가소롭게 생각하였고 제안을 받아드려 주었다. 막상 제안은 했지만 은빈이의 수학 지식은 매우 부족했다. 지후는 수학 지식이 풍부했기 때문에 지후가 못 맞출 퀴즈를 내려면 지후가 모르는 새로운 내용이 필요했고 은빈이는 이 세상에 없는 새로운 수인 “자신을 설명하는 수”라는 것을 만들게 되었 다. 예를 들어, 61134447444의 자신을 설명하는 수는 6이 1개, 1이 2개, 3이 1개, 4가 3개, 7이 1개, 4가 3개 있으므로 611231437143이다. 이러한 방식으로 611231437143의 자신을 설명하는 수를 구해보면 6112213111413171114131이 된다. 자신을 설명하는 수를 계속 구해보던 은빈이는 규칙을 발견했다. 어떤 수 N에 대해 자신을 설명하는 수를 계속 구해나갈 때 얻을 수 있는 각 수들의 자릿값(Digit, 각 자리의 숫자) 중에서 가장 큰 자릿값(Digit) M 을 구할 수 있다는 사실이다. 예를 들어, N이 892일 경우에는 M이 9가 된다. 왜냐하면 892의 자신을 설명 하는 수는 819121이고 819121의 자신을 설명하는 수는 811191112111이고 자신을 설명하는 수를 계속 구하더라도 9보다 큰 자릿값(Digit)는 나타날 수 없기 때문이다. (자릿값(Digit)는 0~9임을 상기하자!) 따 라서 N = 892일 때는 M = 9 이다. 은빈이는 위의 생각을 바탕으로 지후에게 N을 알려주고 M을 맞춰보라는 수학 퀴즈를 내고자 한다. 은빈이 는 문제를 만드는데 성공했지만 머리를 너무 써버린 탓에 문제의 답까지는 구하지 못했다. 은빈이를 대신해 문제의 답을 구해주고 은빈이가 지후에게 수학 퀴즈를 내서 지후를 기를 꺾을 수 있도록 도와주자. 입력 첫째 줄에는 테스트 케이스의 수 T(1≤T≤50)가 주어진다. 두 번째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 N(1≤N≤10^9)이 주어진다. 출력 각 테스트 케이스에 대해 한 줄에 하나씩 N에 대한 M을 출력한다. 예제입력 예제출력 3 987132 1 1122112211 9 3 3
  • 8. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 8 / 17 E. Way Back Home Time Limit 1 second There was a student named Tae-hoon Kim in Hanyang University. Since it was midterm examination week, he could not sleep for three days to study. As he finally finished all the exams, he encountered with unknown masked-man. He started to fight with Tae-hoon. Although Tae- hoon is great at martial-art, he lost fight due to lack of sleep. When he woke up, he found himself in Nonsan Training Center. He was to serve a military service for 21 months. Finally he became free and could go home! Oops! He is out of his home for a long time and his family has moved their residence. Your task is to help him find his house. Input Your program is to read from standard input. The input consist of T test cases. The number of test cases, T(1≤T≤100), is given in the first line of input. Each test case starts with the integer N (3≤N≤100) denoting the size of map. In the following N lines, for each line, N integers are given denoting whether there is Tae-hoon's house or not. If there is Tae-hoon's house, it will be denoted as 0. If not, it will be denoted as an integer between 1 and 10,000. It is guaranteed that there is exactly one 0 in the map. Output Your program is to write standard output. For each test case, print the row index and the column index of Tae-hoon's new house separated by a space in each line. Sample Input Sample output 2 3 4 3 2 1 0 5 3 6 9 4 12 14 23 43 56 23 45 0 47 98 75 2 56 88 97 10000 2 2 2 4
  • 9. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 9 / 17 F. 애지문수 시간제한 1초 설현이는 매일 애지문을 통하여 등교를 한다. 그러다 보니 어느덧 항상 계단을 오를 때마다 계단 개수를 세 어보는 버릇이 생기고는 했다. 애지문으로 이르는 계단 수는 78개이고 이를 소인수분해 하면 2x3x13이 된 다. 여기서 영감을 얻은 설현이는 애지문수라는 개념을 만들었다. 애지문수는 소인수들의 집합이 {2,3,13}의 부분집합이고 각각의 소인수들의 차수가 {0,2,3,13} 중 하나인 수를 말한다. 가령 4, 8, 36, 8192는 애지문 수 이고, 16, 81 등은 애지문수가 아니다. 설현이는 애지문수 자체에도 관심이 많았지만, 어떤 정수 둘을 곱하였을 때 애지문수가 되는지 안 되는지도 관심이 많았다. 그래서 N개의 정수가 있을 때, 그 중 중복을 허용하지 않고 2개의 수를 뽑아서 둘을 곱했을 때 애지문수가 되는 경우가 얼마나 되는지 확인하고 싶어졌다. 프로그래밍을 할 줄 모르는 설현이는 N개의 정수 중 2개의 수를 조합하여 애지문수를 만들 수 있는 경우의 수가 얼마나 되는지 직접 계산기를 두들겨 구하고 있다. 설현이를 도와 애지문수를 만들 수 있는 경우의 수 를 구해보자 입력 첫째 줄에는 테스트 케이스의 수 T(1≤T≤10)가 주어진다. 둘째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에는 정수의 개수 N(1≤N ≤1,000)이 주어진다. 둘째 줄부터 10,000이하의 자연수가 N개 주어진다. 이 때 주어지는 자연수는 중복이 없는 유일한 수이며, 어떠한 두 수를 곱했을 때 int형(32-bit)을 넘어가는 경우가 없다는 것이 보장된다. 출력 각 테스트 케이스에 대해 한 줄에 하나씩 N개의 숫자 중 임의의 두 수를 곱하여 애지문수가 되는 경우의 수 를 출력한다. 예제입력 예제출력 1 5 6 5 26 18 52 2 Hint. 6, 5, 26, 18, 52의 5개 수 중 2개를 선택하여 곱한 값이 애지문수가 되는 경우는 6 x 18 = 𝟐 𝟐 × 𝟑 𝟑 = 108 와 26 x 52 = 𝟐 𝟑 × 𝟏𝟑 𝟐 = 1352 두 가지 경우이다. 6 x 18과 18 x 6 같이 순서를 바꿔서 같은 경우는 하나의 경우로 본다. 반면, 13 x 2 와 26 x 1 은 값은 같지만 두 수가 다르므로 서로 다른 두 가지의 경우로 본다.
  • 10. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 10 / 17 G. 코드 네임 남혁 시간제한 1초 남혁이는 비밀조직 “남혁짱짱파”를 만들었다. 남혁짱짱파는 비밀조직이기 때문에 자신의 정체를 절대 들켜서 는 안 된다. 남혁이는 남혁짱짱파의 비밀요원들이 숫자로 된 코드네임을 통해 활동하면 외부에 정체를 들키 지 않을 수 있다고 생각하였다. 남혁이가 생각한 코드네임을 만드는 방법은 다음과 같다. 1. 자신의 영어이름(소문자)을 한 글자씩 분리한다. 2. 각 글자 별로 a=0, b=1, c=2 ...... x=23, y=24, z=25로 매칭시킨다. 3. 매칭되는 숫자들의 총합을 구한다. 위 과정을 통해서 구한 숫자가 바로 자신의 코드네임이 되는 것이다. 예를 들어, namhyuk이라는 이름의 요원의 코드네임은 아래의 과정으로 구할 수 있다. 요원 namhyuk은 최종적으로 “코드네임 86”을 부여 받는다. 남혁이는 사칙연산에 매우 취약하다. 남혁이를 대신하여 남혁짱짱파의 비밀요원들의 코드네임을 부여해주자. 입력 첫째 줄에는 테스트 케이스의 수 T(1≤T≤15)가 주어진다. 둘째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 비밀요원의 이름이 한 줄에 주어진다. 이름은 영어 알파벳 소문자(lower case)만으로 이루어지며, 30글자를 넘지 않는다. 출력 각 테스트 케이스에 대해 한 줄에 하나씩 비밀요원의 코드네임을 출력한다. 예제입력 예제출력 5 namhyuk taehee joonhan stravinsky rachmaninoff 86 38 70 148 96
  • 11. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 11 / 17 H. 크리스마스 트리 시간제한 1초 정욱이는 올해도 크리스마스를 홀로 보내게 되었다. 눈물을 머금고 정욱이는 크리스마스 분위기라도 내보고 자 크리스마스 트리와 전구를 구입하였다. 정욱이는 구입한 전구를 아래의 그림과 같이 1째 줄에 1개, 2째 줄에 2개, 3째 줄에 3개, …… H째 줄에 H개의 전구를 달았다. 여자친구는 없어도 프로그래밍만큼은 자신이 있었던 정욱이는 크리스마스 트리의 스위치를 켜면 전구가 다음 과 같은 규칙으로 깜박거리게 프로그래밍 하였다. 1. I가 H 이하의 자연수일 때, I번째 줄에 있는 전구는 I-1분이 되는 순간 처음 켜진다. 2. 모든 전구는 처음 켜진 후, 1분 간격으로 꺼짐과 켜짐을 반복한다. 모든 게 완벽하다고 생각했지만 문제가 생겼다. 정욱이의 용돈이 얼마 남지 않은 것이다. 전기요금은 전구 하나를 1분 켜는데 1원이라고 한다. 짜증이 난 정욱이는 더 이상 머리를 쓰고 싶어 하지 않는다. 불쌍한 정 욱이를 위해 N분 동안 크리스마스 트리의 스위치를 켰을 때, 전기요금이 얼마나 나올지 구해주자. 입력 첫째 줄에는 테스트 케이스의 수 T(1≤T≤20)가 주어진다. 둘째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 H(1≤H≤1,000)와 N(1≤N≤5,000)이 공백으로 구분되어 주어진다. 출력 각 테스트 케이스에 대해 한 줄에 하나씩 N분 동안 크리스마스 트리의 스위치를 켰을 때, 나올 전기요금을 출력한다. 예제입력 예제출력 5 6 3 3 7 7 7 10 18 21 16 7 19 50 345 444
  • 12. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 12 / 17 I. 솔로와 솔로와 솔로의 연결고리 시간제한 1초 한양대학교에 다니고 있는 정무, 윤성이, 주홍이는 여자친구가 없다. 믿었던 다른 친구들도 하나 둘씩 여자친 구가 생겨 떠나갔고, 결국 셋만 남게 되었다. 얼마 전 여자친구가 생긴 민철이와 시비가 붙은 주홍이는 “이 게 여자친구도 없는 게 까불어!”라는 민철이의 말에 대꾸조차 못하고 고개를 떨구었다. 이를 본 정무와 윤성 이는 마음이 아파, 주홍이가 재미있어 할 만한 게임으로 주홍이를 위로 해주고자 한다! 곰곰이 고민하던 둘 은 “형! 세상은 둘이 아니라 셋이 사는 거에요!”라며 ‘솔로와 솔로와 솔로의 연결고리’ 라는 게임을 주홍이 에게 제안한다. 게임이 재미있어 보였던 세 명은 당장 대운동장으로 뛰쳐나가 게임을 해보기로 했다. 게임의 규칙은 다음과 같다(이게임은 솔로 세 명만 참가할 수 있도록 만들어 졌다) < 솔로와 솔로와 솔로의 연결고리 규칙> ① 솔로 세 명이 게임에 참가한다. 1번째 플레이어가 게임의 술래이다. 세 명이 순서대로 플레이를 하 며, 라운드가 지나도 플레이 순서는 바뀌지 않는다. ② 1번째 플레이어(술래)는 출발점에서 아무 방향으로나 정확히 N걸음을 걸어가서 서있는다. N은 1번 째 플레이어의 마음대로 결정한다. ③ 2번째로 플레이 하는 사람은 1번째 플레이어가 서있는 위치에서 출발하며, 1번째 플레이어가 걸어 온 길과 직각이 되도록 걸어가서 서있는다. 이때 2번째 플레이어는 1번째 플레이어의 걸음 수보다 추가로 정확히 M발 더 걸어가야 한다. M은 2번째 플레이어의 마음대로 결정한다. ④ 3번째 플레이어는 2번째 플레이어가 도착한 위치에서, 2번째 플레이어의 걸음 수 보다 정확히 M 발 더 걸어서 맨 처음 출발점으로 돌아가야 한다. 3번째 플레이어가 돌아갈 수 있으면 술래의 패 배, 돌아갈 수 없다면 술래의 승리로 라운드가 끝이 난다. (이 때, 지나치거나 모자람 없이, 정확히 원래 출발점에 도착한 경우를 돌아가는데 성공했다고 정의한다) ⑤ 2,3 번째 플레이어는 한 팀이며, 3번째 플레이어가 출발점에 도착할 수 있도록 해서, 술래를 이기 는 것이 2,3번째 플레이어의 목적이다. ⑥ 걸음 수는 항상 자연수이며, 솔로 세 명의 한 걸음은 모두 보폭이 동일하다. 오늘 게임은 윤성이가 술래를 맡도록 하여, 윤성, 정무, 주홍 순서대로 게임을 진행하기로 하였다. 그런데 막 상 게임을 해보자, 정무와 주홍이는 번번히 패배하기만 하였고, 안 그래도 우울한 주홍이는 더 우울해져 집 에 가려고 했다. 2번째 플레이어를 맡은 정무는 이 게임의 승패는 자신에게 달려있다는 것을 알았다! 윤성이 가 처음 걸어간 걸음 수 N이 주어졌을 때, 정무와 주홍이가 이길 수 있는 추가 걸음 수 M을 찾아주는 프로 그램을 만들어 가여운 솔로들을 도와주자! 입력 첫째 줄에 테스트케이스의 수 T(1≤T≤100)가 주어진다. 각 테스트 케이스 첫째 줄에, 각 줄에 윤성이가 걸어간 걸음의 수 N(0≤N≤100,000)이 주어진다. 출력 각 테스트케이스의 입력에 대해 한 줄에 하나씩 윤성이를 이길 수 있는 추가 걸음 수 M을 출력한다. 만약 윤성이를 이길 수 있는 방법이 없다면 -1을 출력 한다. 정답은 32-bit 정수형을 넘지 않는 범위이다. 예제입력 예제출력 2 6 8 2 -1 Hint. 첫 번째 테스트 케이스의 경우, 윤성이가 6 발 걸어가게 되면, 규칙에 따라 정무가 8 발, 주홍이가 10 발 걸어서 원래 출발점으로 돌아오는 것이 가능하다. 이 때 추가 걸음 수 M 은 2 발.
  • 13. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 13 / 17 J. 진혁이와 다이아블로3 시간제한 1초 수 많은 게임을 섭렵중인 진혁이는 최근 다이아블로3이란 게임을 시작했다. 다이아블로3은 수 많은 악마들 을 사냥하고 다니는 게임으로 진혁이는 빠른 속도로 악마들을 사냥하고 다니며 강해져 가는 자신을 바라보며 뿌듯해한다. 다이아블로3에서는 차원의 균열이라는 시스템이 있는데 컴퓨터가 무작위 사냥터와 무작위악마들 을 생성해주고 이를 모두 처리하는 기록을 가지고 서로 경쟁을 하는 시스템이다. 차원의 균열 기록을 갱신하고 있는 진혁이는 어떤 무작위 사냥터가 주어지면 사냥터의 악마들을 모두 처리하 는데 걸리는 시간을 ‘다잡았초’ 라고 명명하고 가장 빠르게 악마들을 사냥할 때의 최소 다잡았초를 계산하는 프로그램을 만들려고 한다. 진혁이는 다양한 기술과 공격으로 악마들을 사냥하고 다니지만 자신의 우월함을 뽐내기 위해 아래의 두 가지 기술만을 사용하여 악마들을 사냥하고자 한다. 기술1. 사냥터 전체에 피해를 1 줄 수 있다 기술2. 어느 악마 한 마리를 남은 체력에 상관없이 죽일 수 있다. 진혁이는 1초에 위의 두 가지 기술 중 하나만 선택하여 사용할 수 있다. 두 가지 기술을 적절히 사용하면 진 혁이는 최소한의 시간만 소모하고 모든 악마들을 사냥할 수 있다. 이러한 최소 다잡았초를 구하고 싶은 진혁 이를 도와주자. 행의 크기가 N, 열의 크기가 M인 N*M행렬의 사냥터에 각각의 악마들의 체력에 대한 정보 가 주어질 때 진혁이의 최소 다잡았초를 계산하는 프로그램을 만들어라. 입력 첫째 줄에는 테스트 케이스의 수 T(1≤T≤10)가 주어진다. 둘째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 N(5≤N≤100), M(5≤ M≤100)이 순서대로 입력된다. 둘째 줄부터 N+1줄까지 N*M행렬에 악마들에 대한 정보가 입력된다. 각 악 마들의 체력은 0이상 500이하의 정수이다. 출력 각 테스트 케이스에 대해 한 줄에 하나씩 해당 사냥터에서 진혁이의 최소 다잡았초를 출력한다. 예제입력 예제출력 1 3 3 9 0 2 1 3 3 2 4 5 6
  • 14. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 14 / 17 K. Hexagon 시간제한 1초 창수는 매우 특별한 육각형모양의 초콜릿을 생일선물로 받았다. 창수는 초콜릿을 관찰한 결과 두 가지 특징 을 알아냈다. 특징 1. 이 육각형퍼즐의 모서리에서 이루는 각이 120° 를 이룬다. 특징 2. 이 육각형 퍼즐은 각 𝑖번째 변이 𝑎𝑖cm 을 이룬다. 창수는 특이한 식습관이 있는데 초콜릿을 먹을 때만큼은 초콜릿을 정확히 각 변이 1cm인 정삼각형모양으로 잘라서 먹으려고 한다는 것이다. 창수는 몇 개의 정삼각형모양의 초콜릿을 먹을 수 있는지 궁금해졌다. 창수 가 최대 몇 개의 정삼각형모양의 초콜릿을 먹을 수 있는지 알려주자! 입력 첫째 줄에 테스트 케이스의 수 T(1≤T≤10,000)가 주어진다. 둘째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 각 육각형의 각 변의 길 이를 의미하는 여섯 개의 양의 정수 𝑎1, 𝑎2, 𝑎3, 𝑎4, 𝑎5, 𝑎6 이 입력으로 주어진다. i가 1이상 5이하일때, 𝑎𝑖 는 𝑎𝑖+1 과 인접해 있으며 𝑎6은 𝑎1과 인접해 있다. 각 변의 길이는 100이하의 자연수이다. 각 변의 길 이로 위의 2가지 성질을 만족하는 육각형이 존재함은 보장된다. 출력 각 테스트 데이터에 대해서 한 줄에 하나씩 창수가 먹을 수 있는 최대한의 정삼각형모양의 초콜릿 개수를 출 력한다. 예제입력 예제출력 2 1 1 1 1 1 1 1 2 1 2 1 2 6 13
  • 15. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 15 / 17 L. Alt + Tab 시간제한 1초 인터넷 강의를 듣고 있던 재석이는 리그 오브 레전드가 갑자기 하고 싶어졌다. 하지만 어머니에게 딴짓을 하 는 것을 들키면 저녁을 먹을 수 없어서 화면을 재빠르게 전환해야 한다. 재석이의 컴퓨터에서는 Alt 키를 누 른 채로 Tab키를 누르면 Tab 키를 누른 횟수에 따라 창(Window)의 위치가 바뀐다. 특정 시점에서 위쪽에 있는 순서대로 각각의 창(Window)에 1번부터 N번까지 번호(index)를 붙이면, Alt키와 함께 Tab키를 M번 눌렀을 때 M+1번창이 1번창의 위치에 오게 되고, 1번 창은 2번창의 위치로, 2번 창은 3번창의 위치로, 3번 창은 4번창의 위치로, …, M번 째 창은 M+1번창에 오게 된다. M+2번창부터 N번까지의 창은 움직이지 않는 다. 재석이는 리그 오브 레전드만 하지 않고 웹툰도 보고 영화도 보느라 Alt + Tab을 이용한 화면 전환 기능을 여러 번 사용했고 인터넷 강의 창이 어디 있는지 모르고 있다. 재석이가 저녁을 먹을 수 있도록 갑자기 어머니가 들어오셨을 때, 인터넷 강의 창을 가장 위에(1번창의 위치 에) 띄우기 위해서는 Alt키와 함께 Tab키를 몇 번 눌러야 하는지 알려주자. 입력 첫째 줄에 테스트 케이스의 수 T(1≤T≤20)가 주어진다. 둘째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 현재 띄워져 있는 창 (Window)의 개수 2 ≤ N ≤ 1,000, Alt키를 누른 횟수 1 ≤ K ≤ 1,000이 입력된다. 둘째 줄에 Alt키를 누른 횟수 K개에 대해 Alt키와 함께 Tab키까지 같이 누른 횟수가 입력된다. 각각 Tab 키를 누른 횟수는 1이상, N미만임이 보장된다. 출력 처음 인터넷 강의 창(Window)은 가장 위(1번 창)에 있다. K번의 Alt + Tab 작업 후, 인터넷 강의 창이 가 장 위(1번 창)에 오도록 하기 위해서 Alt 키와 함께 Tab을 몇 번 눌러야 하는지 한 줄에 하나씩 출력한다. 이미 가장 위에 있는 경우는 Tab키를 더 이상 누를 필요가 없으므로 0을 출력한다. 작업 도중 창이 새로 실 행되거나 종료되는 경우, 다른 방법을 이용해서 창을 전환하는 경우는 없다. 예제입력 예제출력 2 3 1 2 10 5 6 4 8 8 7 1 5 뒷장에 이어서 힌트...
  • 16. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 16 / 17 Hint. 두번째 테스트케이스에 대한 설명이다. 처음 A~J 까지 10 개의 창이 있을 때 총 5 번의 Alt + Tab 작업을 시행한다. 이 때, “인터넷 강의 창(Window)”은 가장 위에 있는 A 이다. 첫번째, Alt 키와 함께 Tab 키를 6 번 눌렀을 때 (6+1) 번째에 있는 G 가 1 번째 창의 위치에 오고, 2~6 번째 창은 뒤로 한 위치씩 밀린다. (6+2) ~10 번째 창은 위치에 변동이 없음에 유의하자. 같은 방식으로 Tab 키를 4, 8, 8, 7 회 누르고 난 후의 상황에서 “인터넷 강의 창”인 A 를 가장 앞에 가져오기 위해서는 Alt 키와 함께 Tab 키를 5 번 눌러야 한다. 따라서 5 을 출력한다. Tab A B C D E F G H I J 6 G A B C D E F H I J 4 D G A B C E F H I J 8 I D G A B C E F H J 8 H I D G A B C E F J 7 E H I D G A B C F J 5 A E H I D G B C F J
  • 17. 2015 한양대학교 프로그래밍 경시대회(Beginner Division) 페이지 17 / 17 M. 리그 오브 뉴커 시간제한 1초 동훈이는 게임을 아주 좋아하는 아이이다. 그는 게임들 중에서도 특히 리그 오브 뉴커라는 게임을 좋아한다. 리그 오브 뉴커의 게임 목표는 자신의 영웅을 조종해서 상대방 영웅을 처치하는 것과 상대팀의 포탑을 부수 는 것이다. 여러 사람이 동시에 플레이 하는 리그 오브 뉴커에는 여러 가지 포지션이 있다. 탑, 미드, 정글, 원딜, 서포터 멋을 추구하는 동훈이는 그 포지션들 중에서 리그 오브 뉴커에서 가장 빛이 나며 멋이 있는 미드만 고집하여 미드가 아닌 다른 포지션에는 눈길조차 주지 않는다. 또한 동훈이는 인생은 한방이라는 모토를 가지고 평생을 살아왔다. 아이템을 살 때도 한방에, 상대방 영웅에 게 죽을 때도 한방에, 상대방 영웅을 처치 할 때도 한방에 죽이려고 노력한다. 자신의 영웅의 기술 피해량이 상대방의 체력보다 같거나 큰 경우 한 방에 상대방 영웅을 제거할 수 있다. 안타깝게도 뺄셈을 잘 하지 못하는 동훈이는 자신의 영웅이 상대방 영웅을 한방에 처치할 수 있는 지 알 방 법이 없다. 다행히 동훈이는 자신이 조종하는 영웅의 기술의 피해량을 알고 있다. 상대방의 영웅의 수는 항 상 5명이며, 이 중 동훈이의 영웅이 한 방에 제거할 수 있는 영웅의 수를 알아보자 입력 첫째 줄에 테스트 케이스의 수 T(1≤T≤10)가 주어진다. 둘째 줄부터 테스트 케이스에 대한 입력이 주어진다. 각 테스트 케이스의 첫째 줄에 영웅의 기술이 상대방에 게 한 번에 줄 수 있는 피해량이 정수 N(0≤N≤1,000)으로 주어진다. 둘째 줄에 상대방 영웅 5명의 체력 이 공백으로 구분되어 주어지며 체력은 1,000이하의 자연수이다. 출력 각 테스트 케이스에 대해 한방에 제거할 수 있는 상대방 영웅의 수가 3명 이상이면 “CARRY"를, 아니면 “DODGE"를 한 줄에 하나씩 출력한다. 예제 입력 예제 출력 2 100 30 60 90 120 150 99 90 100 100 100 100 CARRY DODGE