Menu
Coddy logo textTech

벡터 요소 반복하기

Coddy R 여정의 기초 섹션에 포함된 레슨 — 78개 중 63번째.

R의 벡터화 연산은 강력하지만, 때로는 사용자 정의 로직을 사용하여 각 요소를 개별적으로 처리해야 할 때가 있습니다. for 루프를 사용하면 벡터 요소를 한 번에 하나씩 반복할 수 있습니다.

벡터를 루프하는 가장 간단한 방법은 해당 요소들을 직접 반복하는 것입니다:

fruits <- c("apple", "banana", "cherry")
for (fruit in fruits) {
  print(fruit)
}

출력:

[1] "apple"
[1] "banana"
[1] "cherry"

각 반복에서 루프 변수 fruit는 벡터의 다음 요소 값을 가집니다. 이 방식은 값 자체만 필요할 때 깔끔하고 가독성이 좋습니다.

반복문과 조건부 로직을 결합하여 요소를 선택적으로 처리할 수 있습니다:

numbers <- c(3, 8, 2, 10, 5)
for (num in numbers) {
  if (num > 5) {
    print(num)
  }
}

출력:

[1] 8
[1] 10

이 패턴은 각 요소의 값에 따라 서로 다른 연산을 적용해야 할 때 유용하며, 이는 벡터화된 연산만으로는 항상 처리할 수 없는 부분입니다.

challenge icon

챌린지

쉬움

두 줄의 입력을 받게 됩니다:

  1. 쉼표로 구분된 숫자 목록 (예: 12,5,18,3,25,8,14)
  2. 임계값 (예: 10)

for 루프를 사용하여 벡터 요소를 반복합니다:

  1. 쉼표로 구분된 숫자들로부터 벡터를 생성합니다
  2. 벡터의 각 요소를 루프를 통해 확인합니다
  3. 임계값보다 크거나 같은 각 요소에 대해, print()를 사용하여 해당 요소를 출력합니다

예를 들어, 입력값이 다음과 같다면:

4,15,8,22,6,19,11
10

출력은 다음과 같아야 합니다:

[1] 15
[1] 22
[1] 19
[1] 11

설명: 루프는 각 요소를 임계값(10)과 비교합니다. 요소 15, 22, 19, 11은 모두 10보다 크거나 같으므로 출력됩니다. 요소 4, 8, 6은 건너뜁니다.

치트 시트

for 루프를 사용하면 벡터 요소를 하나씩 반복하면서 각 요소에 사용자 정의 로직을 적용할 수 있습니다.

벡터를 반복 처리하기 위한 기본 구문:

fruits <- c("apple", "banana", "cherry")
for (fruit in fruits) {
  print(fruit)
}

각 반복에서 루프 변수는 벡터의 다음 요소 값을 가집니다.

요소를 선택적으로 처리하기 위해 루프와 조건부 로직 결합하기:

numbers <- c(3, 8, 2, 10, 5)
for (num in numbers) {
  if (num > 5) {
    print(num)
  }
}

이 패턴은 각 요소의 값에 따라 서로 다른 연산을 적용해야 할 때 유용합니다.

직접 해보기

# 입력 읽기
con <- file("stdin", "r")
numbers_input <- suppressWarnings(readLines(con, n = 1))
threshold <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)

# 쉼표로 구분된 문자열을 숫자 벡터로 변환
numbers <- as.numeric(unlist(strsplit(numbers_input, ",")))

# TODO: 아래에 코드를 작성하세요
# for 루프를 사용하여 numbers 벡터를 반복하세요
# 각 요소가 threshold보다 크거나 같으면 print()를 사용하여 출력하세요
quiz icon실력 점검

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

기초의 모든 레슨