배열 정렬 루비

배열 정렬 루비

2022-09-03 last update

5 minutes reading Ruby
Ruby는 일상적인 프로그래밍 작업을 위한 뛰어난 기능을 제공하는 단순하고 강력한 프로그래밍 언어입니다.
배열은 Ruby 및 기타 프로그래밍 언어의 기본 객체이기 때문에 Ruby는 우수한 사용자 정의 알고리즘을 작성하지 않고도 요소를 정렬할 수 있는 방법을 제공합니다.
이 가이드는 Ruby의 내장 메서드와 기능을 사용하여 배열을 정렬하는 방법을 알려줍니다.

배열을 정렬하는 방법


Ruby는 배열을 정렬하는 다양한 방법을 제공합니다. Ruby의 sort 및 sort_by 메소드는 배열을 정렬하는 데 가장 기본적인 것입니다.

#1: 정렬 방법 사용하기


정렬 방법은 Enumerable 모듈에 정의되어 있으며 정렬된 배열의 값을 반환합니다.
예를 들어:
nums = [1,20, 23, 28, 2, 100, 34, 53, 22, 21, 11]

print nums.sort

[1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]
기본적으로 이 메서드는 오름차순으로 정렬된 배열의 항목을 반환합니다.
우주선 연산자를 사용하여 작동하며 값이 보다 크면 1, 같으면 0, 작으면 -1을 반환합니다.
문자열 배열을 제공하면 정렬된 배열은 다음과 같이 알파벳순으로 정렬됩니다.
databases = %w{MySQL, PostgreSQL, Redis, Memcached, MongoDB, Elasticsearch}

print databases.sort

["Elasticsearch", "Memcached,", "MongoDB,", "MySQL,", "PostgreSQL,", "Redis,"]
사용자 정의 정렬 순서를 구현하려는 경우 블록을 정렬 함수에 전달할 수 있습니다. 예를 들어 다음은 정렬 방법을 사용하여 역순을 구현합니다.
nums = [1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]

print nums.sort {|x, y| y <=> x}

[100, 53, 34, 28, 23, 22, 21, 20, 11, 2, 1]
Ruby를 사용하면 정렬을 사용하여 배열을 제자리에 정렬할 수도 있습니다! 방법. 이 메서드는 원래 메서드에 다음과 같이 새 정렬된 배열에 영향을 줍니다.
nums = [1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]

nums.sort!

print nums

[1, 2, 11, 20, 21, 22, 23, 28, 34, 53, 100]
참고: 정렬을 사용하십시오! 신중한 방법; 위의 예와 같이 원래 배열을 덮어씁니다.

#2: Sort_by 메소드


sort_by 방법은 정렬 방법과 비교하여 정렬할 때 유연성을 제공합니다. sort_by 메소드를 사용한 정렬이 어떻게 작동하는지 보기 위해 몇 가지 예를 살펴보겠습니다.
첫 번째 예는 문자열의 길이를 기준으로 정렬하는 것입니다.
databases = ["Elasticsearch", "Memcached,", "MongoDB,", "MySQL,", "PostgreSQL,", "Redis"]

print databases.sort_by {|content| content.length}

["Redis", "MySQL,", "MongoDB,", "Memcached,", "PostgreSQL,", "Elasticsearch"]
배열의 요소 정렬은 문자열 내용 길이에 따라 오름차순으로 발생합니다.
sort_by 메서드가 숫자 값을 예상하므로 문자열의 길이 속성을 사용합니다.
sort_by 메서드를 사용하여 문자열을 역순으로 정렬한다고 가정해 보겠습니다. 이러한 경우 아래와 같이 길이에 마이너스 연산자를 추가할 수 있습니다.
databases = ["Elasticsearch", "Memcached,", "MongoDB,", "MySQL,", "PostgreSQL,", "Redis"]

print databases.sort_by {|content| -content.length}
위의 예는 정렬된 배열을 내림차순으로 반환합니다.

폐쇄


이 가이드는 배열로 작업하고 내장된 Ruby 메소드를 사용하여 정렬하는 방법을 보여주었습니다.