줄 정렬

텍스트 줄을 가나다·알파벳순(오름차순·내림차순), 숫자 자연 순서, 길이순, 역순, 무작위로 정렬하는 무료 온라인 목록 정렬 도구입니다.

목록 정렬하는 방법

  1. 위쪽 상자에 목록을 한 줄에 하나씩 붙여 넣으세요.
  2. 순서를 고르고 필요한 옵션에 체크하세요. 입력하거나 설정을 바꿀 때마다 정렬 결과 상자가 바로 바뀝니다.
  3. 결과 복사나 .txt 다운로드를 누르세요. 무작위 순서에서는 다시 정렬을 누를 때마다 새로 섞습니다.

여섯 가지 순서

  • A → Z와 Z → A – 문자 코드 순서가 아니라 실제 언어의 사전 규칙에 따른 오름차순·내림차순입니다(아래에서 자세히 설명합니다). 한국어 페이지에서는 한글이 가나다순으로 정렬됩니다.
  • 짧은 줄부터와 긴 줄부터 – 공백을 포함한 줄의 글자 수로 정렬합니다. 길이가 같은 줄끼리는 가나다순으로 놓습니다.
  • 현재 순서 뒤집기 – 정렬하지 않고 목록을 위아래로 뒤집어 마지막 줄을 맨 앞으로 보냅니다. 오래된 순서로 쌓인 기록을 최신순으로 바꿀 때 편리합니다.
  • 무작위 (섞기) – 브라우저의 암호학적 난수 생성기를 쓰는 피셔–예이츠(Fisher–Yates) 셔플로 줄을 섞습니다.

옵션

  • 숫자를 자연스러운 순서로(기본값 켜짐) – 연속된 숫자를 수로 비교하므로 “항목 2”가 “항목 10”보다 앞에 옵니다. 끄면 글자를 하나씩 비교하므로 “1”이 “2”보다 작아서 “항목 10”이 먼저 옵니다.
  • 대소문자 구분(꺼짐) – 끄면 “apple”과 “Apple”을 같게 보고 원래 목록의 순서를 유지합니다. 켜면 대문자가 먼저 옵니다: APPLE, Apple, apple.
  • 중복 제거(꺼짐) – 같은 줄은 처음 나온 것 하나만 남깁니다. 대소문자 구분 설정을 따르므로, 구분이 꺼져 있으면 “Apple”과 “apple”도 중복으로 봅니다.
  • 빈 줄 제거(켜짐) – 빈 줄과 공백만 있는 줄을 뺍니다.

예시

바나나, 사과, 항목 10, 항목 2, 체리를 한 줄에 하나씩 넣었을 때의 결과입니다.

설정결과
A → Z, 자연스러운 순서 켜짐바나나, 사과, 체리, 항목 2, 항목 10
A → Z, 자연스러운 순서 꺼짐바나나, 사과, 체리, 항목 10, 항목 2
Z → A항목 10, 항목 2, 체리, 사과, 바나나
긴 줄부터항목 10, 항목 2, 바나나, 사과, 체리
현재 순서 뒤집기체리, 항목 2, 항목 10, 사과, 바나나

사람 이름도 가나다순으로 정렬됩니다. 홍길동, 김철수, 이영희, 박민수, 강감찬은 강감찬, 김철수, 박민수, 이영희, 홍길동이 됩니다. 파일 이름을 보면 자연스러운 순서가 왜 필요한지 알 수 있습니다. file10.txt, file2.txt, file1.txt, File3.txt는 옵션을 켜면 file1.txt, file2.txt, File3.txt, file10.txt가 되지만, 끄면 글자를 하나씩 비교한 결과인 file1.txt, file10.txt, file2.txt, File3.txt가 됩니다.

단순한 “문자 코드 정렬”과 다른 점

많은 프로그래밍 도구는 문자 코드 순서로 정렬하기 때문에 모든 대문자가 모든 소문자보다 앞에 오고(“Zebra”가 “apple”보다 먼저), 악센트가 붙은 글자는 맨 뒤로 갑니다. 이 도구는 유니코드 정렬 알고리즘을 바탕으로 한 브라우저 내장 정렬 규칙을 씁니다. 그래서 é는 e 옆에 놓이고, 대문자와 소문자가 섞여서 정렬되며, 숫자가 글자보다 앞에 옵니다. 한국어 페이지에서는 한국어 규칙을 쓰므로 숫자, 한글, 영문 순서로 정렬됩니다. 예를 들어 apple, 바나나, 10번, 2번, 가방은 2번, 10번, 가방, 바나나, apple이 됩니다.

숫자 정렬: 자연스러운 순서의 한계

자연스러운 순서는 연속된 숫자를 하나의 정수로 비교하므로 정수나 “제9장” 같은 이름에는 잘 맞습니다. 하지만 소수점과 마이너스 기호는 이해하지 못합니다.

  • 10, 9.5, 1.25, 1.5, 2는 1.5, 1.25, 2, 9.5, 10이 됩니다. 소수점 뒤의 숫자를 5와 25로 읽기 때문입니다.
  • -3, -10, 5, -1은 -1, -3, -10, 5가 됩니다. 마이너스 기호를 수의 일부로 보지 않기 때문입니다.

소수는 소수점 아래 자릿수를 맞추면 해결됩니다. 1.25, 1.50, 2.00, 9.50, 10.00은 올바르게 정렬됩니다. 음수가 섞여 있거나 정확한 수치 정렬이 필요하다면 스프레드시트를 쓰는 편이 낫습니다.

팁

  • 줄은 쓰인 그대로 비교하므로 공백으로 시작하는 줄은 다른 줄보다 앞에 옵니다. 앞뒤 공백이 섞인 목록은 먼저 중복 줄 제거로 정리하세요. 각 줄 앞뒤의 공백을 지우고, 겹치는 줄도 함께 없애 줍니다.
  • 두 목록을 텍스트 비교로 비교하기 전에 둘 다 정렬해 두면 추가되거나 빠진 항목이 훨씬 잘 보입니다.
  • 줄 전체를 첫 글자부터 비교합니다. CSV의 두 번째 열처럼 줄 중간의 특정 열을 기준으로 정렬하는 기능은 없으니, 그런 작업은 스프레드시트에서 하세요.

자주 묻는 질문

추첨에 써도 될 만큼 공정하게 섞이나요?

표준 셔플 알고리즘과 암호학적으로 안전한 난수를 쓰므로, 실제로 모든 순서가 같은 확률로 나온다고 볼 수 있습니다. 목록에서 당첨자를 한 명이나 여러 명 뽑으려면 랜덤 이름 뽑기가 더 편리합니다.

같다고 판단된 줄의 순서는 유지되나요?

네. 안정 정렬이므로, 대소문자 구분을 끈 상태의 “apple”과 “Apple”처럼 같다고 판단된 줄은 원래 목록의 순서를 그대로 유지합니다.

숫자로 시작하는 줄이 왜 맨 앞에 오나요?

표준 정렬 규칙에서는 숫자가 글자보다 앞에, 문장 부호와 공백이 숫자보다 앞에 옵니다. 대부분 언어의 사전이나 파일 탐색기와 같은 방식입니다.

아주 긴 목록도 정렬할 수 있나요?

네. 수만 줄짜리 목록도 거의 바로 정렬됩니다. 실제 한계는 기기의 메모리뿐입니다.