실력키우기
-
JUNGOL 실력키우기 1097 : 앞뒤 같은 제곱보관함 2018. 12. 9. 21:25
'앞뒤 같은 수'란 앞에서부터 읽으나 뒤에서부터 읽으나 동일한 수를 말한다. 수 12321 이 '앞뒤 같은 수'의 예가 될 수 있다. N(1≤N≤300, 10진수)중에서 N2이 B(2≤B≤20)진수로 표현했을 때, '앞뒤 같은 수'가 될 때의 N과 N2를 B진수로 출력하라. 진수표현에 있어 10, 11 그리고 이상의 수들은 'A','B',...로 표현한다. 진수 B가 들어온다. N2이 '앞뒤 같은 수'가 되는 모든 수를 B진수로 표기한 N과 N2을 출력한다. 101 1 2 4 3 9 11 121 22 484 26 676 101 10201 111 12321 121 14641 202 40804 212 44944 264 69696 이번 문제는 결국 1~300까지의 수를 제곱한 값을 진수변환해서 해당 값이 앞,..
-
JUNGOL 실력키우기 3106 : 진법 변환보관함 2018. 12. 9. 18:46
A진법 수 N을 입력 받아 B진법 수로 출력하는 프로그램을 작성하시오. N에 사용되는 값은 0 ~ 9, A ~ Z이다. (2 val >> to; // 입력된 숫자를 10진수로 변경 int num{ ToDecimal(val, from) }; string result{ ToCodedNumber(num, to) }; cout > val >> to; // 입력된 숫자를 10진수로 변경 int num{ ToDecimal(val, from) }; string result{ ToCodedNumber(num, to) }; cout > val >> to; // 입력된 숫자를 10진수로 변경 long long num{ ToDecimal(val, from) }; string result{ ToCodedNumber(num, ..
-
JUNGOL 실력키우기 1147 : 주사위 쌓기보관함 2018. 12. 8. 10:20
천수는 여러 종류의 주사위를 가지고 쌓기 놀이를 하고 있다. 주사위의 모양은 모두 크기가 같은 정육면체이며 각 면에는 1부터 6까지의 숫자가 하나씩 적혀있다. 그러나 보통 주사위 처럼 마주 보는 면에 적혀진 숫자의 합이 반드시 7이 되는 것은 아니다. 주사위 쌓기 놀이는 아래에서부터 1번 주사위, 2번 주사위, 3번 주사위, ... 의 순서로 쌓는 것이다. 쌓을 때는 다음과 같은 규칙을 지켜야 한다: 서로 붙어 있는 두 개의 주사위에서 아래에 있는 주사위의 윗면에 적혀있는 숫자는 위에 있는 주사위의 아랫면에 적혀있는 숫자와 같아야 한다. 다시 말해서, 1번 주사위 윗면의 숫자는 2번 주사위 아랫면의 숫자와 같고, 2번 주사위 윗면의 숫자는 3번 주사위 아랫면의 숫자와 같아야 한다. 단, 1번 주사위는 마..
-
JUNGOL 실력키우기 1021 : 장난감조립보관함 2018. 12. 6. 11:06
우리는 어떤 장난감을 여러 가지 부품으로 조립하여 만들려고 한다. 이 장난감을 만드는데는 기본 부품과 그 기본 부품으로 조립하여 만든 중간 부품이 사용된다. 기본 부품은 다른 부품을 사용하여 조립될수 없는 부품이다. 중간 부품은 또 다른 중간 부품이나 기본 부품을 이용하여 만들어지는 부품이다. 예를 들어보자. 기본 부품으로서 1, 2, 3, 4가 있다. 중간 부품 5는 2개의 기본 부품 1과 2개의 기본 부품 2로 만들어진다. 그리고 중간 부품 6은 2개의 중간 부품 5, 3개의 기본 부품 3과 4개의 기본 부품 4로 만들어진다. 마지막으로 장난감 완제품 7은 2개의 중간 부품 5, 3개의 중간 부품 6과 5개의 기본 부품 4로 만들어진다. 이런 경우에 장난감 완제품 7을 만드는데 필요한 기본 부품의 개..
-
JUNGOL 실력키우기 1459 : 숫자고르기보관함 2018. 11. 27. 00:55
세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절히 뽑으면, 그 뽑힌 정수들이 이루는 집합과, 뽑힌 정수들의 바로 밑의 둘째 줄에 들어있는 정수들이 이루는 집합이 일치한다. 이러한 조건을 만족시키도록 정수들을 뽑되, 최대로 많이 뽑는 방법을 찾는 프로그램을 작성하시오. 예를 들어, N=7인 경우 아래와 같이 표가 주어졌다고 하자. 이 경우에는 첫째 줄에서 1, 3, 5를 뽑는 것이 답이다. 첫째 줄의 1, 3, 5밑에는 각각 3, 1, 5가 있으며 두 집합은 일치한다. 이 때 집합의 크기는 3이다. 만약 첫째 줄에서 1과 3을 뽑으면, 이들 바로 밑..
-
JUNGOL 실력키우기 1175 : 주사위 던지기2보관함 2018. 11. 26. 23:28
자연수 N과 M을 입력 받아서 주사위를 N번 던져서 나온 눈의 합이 M이 나올 수 있는 모든 경우를 출력하는 프로그램을 작성하시오. 첫 줄에 주사위를 던진 횟수 N(2≤N≤7)과 눈의 합 M(1≤M≤40)이 들어온다. 주사위를 던진 횟수의 합이 M이 되는 경우를 모두 출력한다. 작은 숫자 부터 출력한다. 3 101 3 6 1 4 5 1 5 4 1 6 3 2 2 6 2 3 5 … 6 2 2 6 3 1 지난번에 작성한 주사위1에서 약간만 변형하면 해결할 수 있습니다. 이전 문제가 더 어려웠던 것 같네요. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include using namespace std..
-
JUNGOL 실력키우기 1169 : 주사위 던지기1보관함 2018. 11. 23. 20:41
주사위를 던진 횟수 N과 출력형식 M을 입력 받아서 M의 값에 따라 각각 아래와 같이 출력하는 프로그램을 작성하시오. M = 1 : 주사위를 N번 던져서 나올 수 있는 모든 경우 M = 2 : 주사위를 N번 던져서 중복이 되는 경우를 제외하고 나올 수 있는 모든 경우 M = 3 : 주사위를 N번 던져서 모두 다른 수가 나올 수 있는 모든 경우 * 중복의 예 1 1 2 와 중복 : 1 2 1, 2 1 1 1 2 3 과 중복 : 1 3 2, 2 1 3, 2 3 1, 3 1 2 첫 줄에 주사위를 던진 횟수 N(2≤N≤5)과 출력모양 M(1≤M≤3)이 들어온다. 주사위를 던진 횟수 N에 대한 출력모양을 출력한다. 작은 숫자부터 출력한다. 3 11 1 1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 ..
-
JUNGOL 실력키우기 1161 : 하노이탑보관함 2018. 11. 15. 14:08
하노이의 탑에 대한 전설은 아래와 같다. 고대 인도의 베나레스(현재 베트남의 하노이)에 있는 한 사원에는 세상의 중심을 나타내는 큰 돔이 있고 그 안에 세 개의 다이아몬드 기둥이 동판 위에 세워져 있다. 기둥 가운데 하나에는 신이 64개의 순금 원판을 끼워 놓았다. 가장 큰 원판이 바닥에 놓여 있고, 나머지 원판들이 점점 작아지며 꼭대기까지 쌓여 있다. 이것은 신성한 브라흐마의 탑이다. 브라흐마의 지시에 따라 승려들은 모든 원판을 다른 기둥으로 옮기기 위해 밤낮 없이 차례로 제단에 올라 규칙에 따라 원판을 하나씩 옮긴다. 이 일이 끝날 때, 탑은 무너지고 세상은 종말을 맞이하게 된다. 기둥을 1, 2, 3 번으로 하고, N개의 원판이 작은 것부터 1, 2, 3, 4 … N이라고 할 때, 아래의 규칙에 ..