Menu
Coddy logo textTech

Range 메서드

Coddy Ruby 여정의 로직 및 흐름 섹션에 포함된 레슨 — 56개 중 7번째.

범위(Range)는 루프를 직접 작성하는 수고를 덜어주는 유용한 메서드들을 제공합니다.

include?는 특정 값이 범위에 포함되는지 확인합니다:

range = 1..10
puts range.include?(5)   # true
puts range.include?(11)  # false

min, max, 그리고 size는 범위(range)에서 직접 작동합니다:

puts (1..10).min   # 1
puts (1..10).max   # 10
puts (1..10).size  # 10

step은 고정된 간격으로 범위를 반복하며, 모든 값이 필요하지 않을 때 유용합니다:

(0..10).step(2) do |n|
  puts n
end
# 0, 2, 4, 6, 8, 10

그리고 each는 배열에서와 똑같이 작동합니다:

(1..3).each { |n| puts n * n }
# 1
# 4
# 9
challenge icon

챌린지

쉬움

포함 범위(inclusive range)와 추측값 목록이 주어집니다. 추측값의 점수를 매기고 범위에 대한 요약을 출력하세요.

두 줄을 읽습니다:

  1. 공백으로 구분된 두 개의 정수: startend_value
  2. 쉼표로 구분된 정수 추측값 목록

start..end_value 범위를 사용하여 다음을 출력하세요:

  1. Hit: <n>, 여기서 n은 범위 내에 포함되는 추측값의 개수입니다 (include?를 사용하세요)
  2. Span: <n>, 여기서 n은 범위의 size입니다
  3. Multiples of 3 sum: <n>, 여기서 n은 범위 내에 있는 모든 3의 배수의 합입니다 (start와 같거나 그 이후의 첫 번째 3의 배수부터 시작하여 step을 사용하세요)

첫 번째 줄에 1 10이 입력되고 두 번째 줄에 3,5,11,7,-2가 입력되면, 출력은 다음과 같습니다:

Hit: 3
Span: 10
Multiples of 3 sum: 18

(Hits: 3, 5, 7. 1..10 범위 내의 3의 배수: 3+6+9 = 18.)

치트 시트

유용한 Range 메서드:

range = 1..10
range.include?(5)  # true
range.min          # 1
range.max          # 10
range.size         # 10

step은 고정된 간격으로 건너뛰며 반복합니다:

(0..10).step(2) { |n| puts n }
# 0, 2, 4, 6, 8, 10

each는 배열에서와 마찬가지로 작동합니다:

(1..3).each { |n| puts n * n }

직접 해보기

start, end_value = gets.chomp.split.map(&:to_i)
guesses = gets.chomp.split(",").map(&:to_i)

# TODO: include?를 통한 적중 횟수, size를 통한 범위, step을 통한 3의 배수의 합
quiz icon실력 점검

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

로직 및 흐름의 모든 레슨