사진 1·2·10번, 파일명 순서에서는 왜 10이 먼저일까요?

가상 사진 파일을 숫자 크기순과 문자순으로 각각 정리해요. 왼쪽 문자부터 비교하면 10이 2보다 먼저 올 수 있어요. 앞에 0을 붙여 번호의 자릿수를 같게 하는 방법이 왜 숫자 순서를 지키는지, 어느 범위까지 맞는지 확인해요.

사무실 책상 위 닫힌 노트북 생성 이미지

이미지: AI 생성 · 수학 이야기

가상의 사진 파일 세 개에1,2,10이라는 이름을 붙였어요. 파일 이름에는 숫자만 있고 모두 같은 확장자를 사용해요. 정렬기가 숫자 크기 대신 왼쪽 문자부터 비교하며0부터9까지의 문자 순서는 숫자 순서와 같다고 가정해요. 이 규칙에서는 목록이1,10,2로 나올 수 있어요. 컴퓨터가10을2보다 작은 수로 계산한 것일까요?

문자순에서는10의 첫 문자1과2의 첫 문자2를 먼저 비교합니다.1이 먼저이므로 뒤에0이 더 있어도10이라는 문자열이2보다 앞서요. 반면 숫자순은십진 자리값을 사용해1<2<10으로 비교해요. 이름이라는 글자열을 정리하는 규칙과 수량이라는 값을 비교하는 규칙이 서로 다른 거예요.

1<2<101<2<10

0부터999까지의 번호라면 세 자리로001,002,010처럼 앞자리0을 채울 수 있어요. 세 자리 모두 같은 길이면 처음으로 다른 자리의 숫자가 큰 쪽이 전체 수도 큽니다.001,002,010의 문자순은1,2,10의 숫자순과 같아요. 앞에0을 붙여도 숫자값은 바뀌지 않고 비교할 자리 길이만 맞춰집니다.

번호가1000에 도달하면세 자리 제한을 넘으므로 이름 길이를 네 자리로 다시 맞추거나 숫자순 정렬을 써야 해요. 일부만0을 채우면 길이가 뒤섞여 같은 보장이 사라져요. 실제 프로그램의 정렬 기능은 종류마다 다를 수 있고 이번은 문자별 비교를 명시한 모형이에요. 원하는 순서를 만들려면 값과 표기, 비교 기준을 함께 정해야 해요.

수학 개념 참고: NRICH · Alphabetical Angle.

이 글의 생활 상황과 계산 예시는 수학 이야기에서 새로 구성했습니다.

이 글 공유하기

개인정보 및 방문 통계 안내