Menu
Coddy logo textTech

Break 문

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

때로는 루프가 모든 반복을 마치기 전에 일찍 빠져나와야 합니다. break 문을 사용하면 특정 조건이 충족될 때 루프를 즉시 중지할 수 있습니다.

for (i in 1:10) {
  if (i == 5) {
    break
  }
  print(i)
}

출력:

[1] 1
[1] 2
[1] 3
[1] 4

루프는 1부터 10까지 실행되도록 설정되었지만, i가 5에 도달했을 때 break 문이 루프를 완전히 중지했습니다. break가 즉시 종료되기 때문에 5는 출력되지 않았다는 점에 주목하세요.

이는 무언가를 검색할 때 while 루프와 함께 사용하면 특히 유용합니다:

num <- 1
while (TRUE) {
  if (num * num > 20) {
    break
  }
  num <- num + 1
}
print(num)

출력:

[1] 5

여기서 while (TRUE)는 일반적으로 무한히 실행되지만, break는 제곱이 20을 초과하는 첫 번째 number를 find하면 실행을 중지합니다. 이 패턴은 condition이 충족될 때까지 검색해야 할 때 흔히 사용됩니다.

challenge icon

챌린지

쉬움

입력에서 number limit을 읽습니다. 1부터 limit까지 반복하도록 for loop을 사용하되, both 3과 7로 나누어떨어지는 첫 번째 number를 만나면 break를 사용하여 loop을 일찍 중단합니다.

condition을 확인하기 전에 각 number를 Print합니다. both 3과 7로 나누어떨어지는 number를 find하면 해당 number를 Print한 다음 loop에서 빠져나옵니다.

loop이 끝난 after에는 "Loop ended"print()를 사용하여 Print합니다.

예를 들어 input이 30이면 output은 다음과 같습니다:

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
[1] 11
[1] 12
[1] 13
[1] 14
[1] 15
[1] 16
[1] 17
[1] 18
[1] 19
[1] 20
[1] 21
[1] "Loop ended"

21은 both 3과 7로 나누어떨어지는 첫 번째 number이기 때문에 loop은 21에서 중단됩니다(21 = 3 × 7).

직접 해보기

# 입력 읽기
con <- file("stdin", "r")
limit <- as.integer(suppressWarnings(readLines(con, n = 1)))

# TODO: 아래에 코드를 작성하세요
# 1부터 limit까지 for 루프 사용
# 조건을 확인하기 전에 각 숫자를 출력
# 3과 7 모두로 나누어떨어지는 숫자를 찾으면 break
# Hint: 나누어떨어지는지 확인하려면 %% 연산자 사용


# 루프 후에 "Loop ended" 출력
print("Loop ended")
quiz icon실력 점검

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

기초의 모든 레슨

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