수에 대해 사전순이라는 표현을 쓰면 그 수들간의 대소관계가 기준이 됩니다.
15663번 - N과 M (9)
첫 글에서 lexicographic order라고 하셨는데 그것부터가 문자에만 해당하는 개념이 아닙니다. 모든 Totally ordered set에 대해서 적용할 수 있는 용어입니다.
제 말은 사전 순서의 개념이 문자에만 해당하는 개념이라는 것이 아닙니다.
만약 수열로된 사전을 편찬한다면 마치 사전에서 단어를 찾을때의 순서처럼,
10 9 를 9 10 보다 앞의 페이지에서 발견하도록 위치시키는 것이 숫자에 사전순서를 적용하는 방법이라는 것입니다.
위키피디아에서 인용하신 내용이 "lexicographic order에 따르면 9 10을 10 9보다 먼저 위치시켜야 한다"는 말의 근거처럼 보이지는 않습니다.
읽어보니 해당 페이지에도 두 수의 길이가 같을 경우, 수의 크기가 다른 자릿수 중 첫번째 자릿수의 크기가 더 큰 것이 사전순서상 더 큰 수라는 내용이 있습니다.
an integer is larger than another one if either it has more digits (ignoring leading zeroes) or the number of digits is the same and the first (most significant) digit which differs is larger.
또한 이 문제에서는 각각의 수에 대한 대소가 아니라 수열이나 사전순이 어떻게 정의되는지 봐야 합니다.
수열에 대한 사전순이라는 것은 그 수열의 첫 번째 원소부터 차례대로 비교하면서 처음으로 달라지는 수가 더 작은 것이 우선합니다. 따라서 9 10과 10 9는 첫 번째 원소끼리 비교했을 때 9가 10보다 작으므로 9 10이 우선하게 되는 것입니다. 이를 '9' '1' '0'과 '1' '0' '9'를 비교하는 것과 동일하게 생각하면 안 됩니다. 왜냐하면, 문제에서 요구하는 것은 '수열'의 사전순이기 때문입니다. 10은 두 개의 문자로 분리될 수 있는 객체가 아니라, 그 자체로 10이라는 값을 가진 수이고 수열 내에서 하나의 원소를 담당합니다.
(정)수열의 사전순과 문자열의 사전순을 비교하자면,
댓글을 작성하려면 로그인해야 합니다.
kizarrd10 2년 전
일반적인 의미의 사전 순은 lexicographic order 아닌가요?
예를들어 사전순 출력이라면 10 9가 9 10보다 순서가 앞이어야 하는데 그렇지 않은 것 같습니다.