시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
0.5 초 (추가 시간 없음) | 1024 MB | 169 | 47 | 13 | 16.667% |
SNUPC의 지원 언어이기도 한 Python에는 range
라는 class가 있습니다. 이 class는 유한 등차수열을 표현하기 위해 만들어졌습니다.
유한 등차수열 {ai} = [a0, …, aL-1]은 세 정수 s, e, d(d ≠ 0)로 특징될 수 있으며, 초항이 s이고 공차가 d인 등차수열 {Di} 중 {x : |d|d·s ≤ |d|d·x < |d|d·e}에 속한 원소를 전부 모은 {Di}의 유한 부분수열입니다. 예를 들어 s = 0, e = 5, d = 1이 나타내는 유한 등차수열은 [0, 1, 2, 3, 4]입니다.
유한 등차수열의 길이는 그 수열에 속한 수의 집합의 크기입니다. 예를 들어 위 예에서 길이는 5가 됩니다. 두 유한 등차수열 {ai}와 {bi}가 같다는 것은 두 수열의 길이가 L로 같고, 모든 정수 0 ≤ i < L에 대해 ai = bi인 경우를 얘기합니다.
range
는 다음과 같은 세 가지 문법을 지원합니다.
range(a)
. 이는 s = 0, e = a
, d = 1인 유한 등차수열을 나타냅니다.range(a,b)
. 이는 s = a
, e = b
, d = 1인 유한 등차수열을 나타냅니다.range(a,b,c)
. 이는 s = a
, e = b
, d = c
인 유한 등차수열을 나타냅니다. 이때 c
는 0이 아니어야 합니다.Python에서는 놀랍게도 range
끼리 같은지 비교할 때, range
가 나타내는 수열 표현으로 비교합니다. 예를 들어 range(5)
와 range(0,5)
는 수열 표현이 [0, 1, 2, 3, 4]로 같으므로 같다고 판단합니다. 또한 수열의 길이는 0이 될 수 있습니다. 예를 들어 range(5,9,-3)
과 range(7,2)
는 모두 수열의 길이가 0이므로 같다고 판단합니다.
당신의 일은 Python의 range
를 하나 받아서 그와 같다고 판단되는 range
를 출력하는 것입니다.
첫 줄에 range
가 주어집니다. 문자열의 각 문자는 (),-0123456789aegnr
중 하나입니다. 지문에 있는 괄호 속의 a
, b
, c
는 절댓값이 109보다 작은 정수로 대체되어 주어집니다.
이때 정수 n을 표현하는 문자열은,
0
이 아닙니다. n은 이 문자열의 십진 전개를 계산한 값입니다.0
입니다.-
이며, 첫 문자를 제외한 문자열은 (-n)을 표현하는 문자열입니다.range
의 인자의 개수는 하나, 둘 또는 셋 모두 들어올 수 있습니다.
첫 줄에 Python이 입력과 같다고 판단하는 range
를 나타내는 문자열을 출력합니다. 정수의 표현은 입력 조건과 같아야 하며, 각 수의 절댓값이 반드시 109보다 작을 필요는 없습니다.
가능한 문자열이 여럿 있으면 사전 순으로 최소인 문자열을 출력합니다. 이때, 각 문자는 미국 정보 교환 표준 부호(ASCII) 순서, 즉 (),-0123456789aegnr
(앞에 있을수록 작음) 순서로 비교합니다.
range(37,90,5)
range(37,88,5)
range(24,117,53)
range(24,100,53)
range(-2,10,30)
range(-2,-1)
University > 서울대학교 > 2019 서울대학교 프로그래밍 경시대회 > Division 1 K번