Menu
CoddyTech

범위를 이용한 배열 슬라이싱

Coddy Ruby 여정의 기초 섹션에 포함된 레슨. 88개 중 69번째.

때로는 배열의 개별 요소에 접근하는 대신 배열의 일부를 추출해야 합니다. Ruby에서는 범위를 사용해 배열을 슬라이스할 수 있으며, 지정한 요소만 포함하는 새 배열이 만들어집니다.

범위를 사용해 배열을 슬라이스하려면 대괄호 안에 범위를 넣으세요:

numbers = [10, 20, 30, 40, 50]
slice = numbers[1..3]

puts slice  # 출력: 20, 30, 40

범위 1..3에는 인덱스 1, 2, 3에 있는 요소가 포함됩니다. 배열 인덱스는 0부터 시작하므로 인덱스 1은 두 번째 요소입니다.

마지막 인덱스를 제외하려면 세 점 범위(...)를 사용할 수도 있습니다:

letters = ["a", "b", "c", "d", "e"]
slice = letters[0...3]

puts slice  # 출력: a, b, c

여기서 0...3에는 인덱스 0, 1, 2가 포함되지만, 인덱스 3에 도달하기 전에 멈춥니다.

음수 인덱스는 범위에서도 작동합니다. 배열의 끝에서부터 세며, 여기서 -1은 마지막 요소입니다:

colors = ["red", "green", "blue", "yellow"]
slice = colors[1..-1]

puts slice  # 출력: green, blue, yellow

이렇게 하면 인덱스 1부터 마지막 요소까지 모두 추출할 수 있습니다. 배열의 길이를 모른 채 첫 번째 요소를 건너뛰고 싶을 때 유용합니다.

challenge icon

챌린지

쉬움

두 개의 입력을 읽으세요.

  1. 쉼표로 구분된 정수가 한 줄에 입력됩니다(예: 10,20,30,40,50,60,70).
  2. start..end 또는 start...end 형식의 범위 지정입니다(예: 2..5 또는 1...4).

첫 번째 입력을 정수 배열로 나누세요. 그런 다음 두 번째 입력의 범위를 사용해 배열을 슬라이스하고, 슬라이스한 부분의 각 요소를 한 줄에 하나씩 출력하세요.

범위 입력에서 끝 인덱스를 포함하려면 점 두 개(..)를 사용하고, 제외하려면 점 세 개(...)를 사용합니다.

예를 들어, 입력이 10,20,30,40,50,60,70과 2..5라면 출력은 다음과 같아야 합니다.

30
40
50
60

입력이 5,10,15,20,25,30과 0...3이라면 출력은 다음과 같아야 합니다.

5
10
15

입력이 100,200,300,400,500과 1..-1이라면 출력은 다음과 같아야 합니다.

200
300
400
500

입력이 a,b,c,d,e,f와 -3..-1이라면 출력은 다음과 같아야 합니다.

d
e
f

직접 해보기

# 쉼표로 구분된 값들을 읽습니다
input_values = gets.chomp

# 범위 지정 정보를 읽습니다
range_spec = gets.chomp

# TODO: 아래에 코드를 작성하세요
# 1. input_values를 배열로 분리합니다
# 2. range_spec을 파싱하여 시작점, 끝점, 그리고 .. 또는 ... 중 무엇을 사용할지 결정합니다
# 3. 적절한 범위를 사용해 배열을 슬라이싱합니다
# 4. 슬라이싱한 부분의 각 요소를 한 줄에 하나씩 출력합니다
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: 온라인 Ruby 컴파일러