-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bonus #4
Comments
Bonus 2. Hexademical Look-and-say Sequence보너스 문제는 평균적인 실습 문제보다 더 어렵게 출제되며, 학생들의 자발적 심층 학습을 돕기 위한 문제입니다. 보너스 문제를 풀면 다른 실습 문제에서 받은 감점을 일부 면제받을 수 있습니다. 따라서 평소에 실습을 성실히 수행했다면 보너스 문제를 풀지 않아도 불이익은 없습니다. 실습 시간에는 보너스 문제에 대한 질문을 받지 않습니다. 이 문제에서는 흔히 "개미 수열"이라고 알려진 읽고 말하기 수열을 구현하는 것이 목표입니다. 읽고 말하기 수열에 대한 자세한 설명은 Wikipedia를 참조하세요. 이해를 돕기 위해 아래의 예시를 참조하세요.
이 문제에서의 특이한 점은, 문자열이 1-9 뿐만 아니라 a-f로도 구성된다는 점입니다. 또, 개수를 셀 때는 16진수로 나타냅니다. 다음의 예시를 보세요.
각 문자의 개수가 두 자리수를 넘어가는 경우, 해당 수를 그대로 이어붙이면 됩니다.
그런데, 실제로 읽고 말하기 수열을 구현해보면 어느 정도 진행되다가 비슷한 문자열을 계속 맴돈다는 것을 알 수 있습니다. 예를 들어,
따라서 이 문제에서는 다음과 같이 출력하기로 합니다.
모든 초기 문자열은 언젠가 출력한 문자열에 다시 도달한다는 것이 보장됩니다. 입력 처음 한 줄에 0-9, a-f, A-F로 구성된 문자열이 주어집니다. 대소문자를 구분하지 않고 전부 소문자로 바꾼 후에 문제를 풀어야 합니다. 출력 위에서 설명한 방식에 따라 16진수로 된 읽고 말하기 수열을 출력합니다. 초기 문자열을 포함해야 하며, 출력되는 모든 영문자는 소문자여야 합니다. 예시 입력 1
예시 출력 1
예시 입력 2
예시 출력 2
예시 입력 3
예시 출력 3
예시 입력 4
예시 출력 4
예시 출력 5
예시 출력 5
|
Bonus 1. Pascal's Triangle Reconstruction
보너스 문제는 평균적인 실습 문제보다 더 어렵게 출제되며, 학생들의 자발적 심층 학습을 돕기 위한 문제입니다. 보너스 문제를 풀면 다른 실습 문제에서 받은 감점을 일부 면제받을 수 있습니다. 따라서 평소에 실습을 성실히 수행했다면 보너스 문제를 풀지 않아도 불이익은 없습니다. 실습 시간에는 보너스 문제에 대한 질문을 받지 않습니다.
파스칼의 삼각형은 1에서 시작해서, 양 끝은 모두 1로 고정하고, 나머지는 위의 행에 인접한 두 숫자를 더해서 만들어집니다. 자세한 사항은 Wikipedia를 참조하세요
이 문제는 위의 파스칼 삼각형을 확장해서, 임의의 숫자 리스트로부터 시작해 삼각형을 계산합니다. 파스칼 삼각형과 마찬가지로, 어떤 한 행이 주어졌을 때 다음 행의 양 끝은 이전 행과 동일하고, 행의 중간에는 이전 행에서 인접한 두 수의 합이 오게 됩니다. 예를 들어
2 7 8 3
이 주어졌을 때, 그 다음 행은 양끝이2
와3
으로 동일하고 가운데에 2+7(9
), 7+8(15
), 8+3(11
)이 오게 되어 결과적으로2 9 15 11 3
이 됩니다. 이를 반복하면 아래와 같이 확장된 파스칼 삼각형을 얻을 수 있습니다.한편, 주어진 행으로부터 위의 행이 무엇이었을 지를 계산하는 것도 가능합니다. 위의 두 개의 예시에서
2 7 8 3
은 사실2 5 3
의 다음 행이고,2 5 3
은2 3
의 다음 행입니다.1 8 10 5 7 5
는1 7 3 2 5
의 다음 행입니다. 따라서, 위의 두개 예시는 사실 아래와 같은 더 큰 삼각형의 일부라고 이해할 수 있습니다.주어진 행과 양 끝이 같고, 길이가 1 작으면서, 0보다 큰 자연수로만 이루어져 있는 수열이 없다면 이전 행이 없다고 정의합니다. 위의 예시에서
2 3
과1 7 3 2 5
는 이전 행이 정의되지 않습니다.문제는 어떤 한 행이 주어졌을때 그것의 전후에 나올 행들을 계산하여 확장된 삼각형을 출력하는 것입니다.
입력
처음 한 줄에 띄어쓰기로 구분된 숫자들이 주어집니다. 숫자는 적어도 1개 있음이 보장됩니다. 이는 어떤 삼각형의 한 줄입니다.
출력
위의 조건에 따라 확장한 삼각형을 출력합니다. 이때, 각 줄은 Python의 list를 출력하는 형식과 동일해야 합니다. 숫자들을 list에 담은 후 그대로
print()
하면 됩니다.예시 입력 1
예시 출력 1
예시 입력 2
예시 출력 2
예시 입력 3
예시 출력 3
예시 입력 4
1
예시 출력 4
예시 출력 5
예시 출력 5
The text was updated successfully, but these errors were encountered: