1. 학습
  2. /
  3. 강의
  4. /
  5. Rcpp로 R 코드 최적화하기

Connected

연습 문제

for 루프 빠져나오기

때로는 반복을 모두 끝내기 전에 루프를 종료해야 할 때가 있어요. 예를 들어, 모든 가능성을 시도하기 전에 코드가 이미 작업을 끝낼 수 있습니다. 이런 경우 break 키워드를 사용해 루프를 일찍 빠져나올 수 있어요.

코드 패턴은 다음과 같습니다:

for(int i = 0; i < n; i++) {
  // Do something

  // Test for exiting early
  if(breakout_condition) break;

  // Otherwise carry on as usual
}

여기서는 이전 예제를 수정해, 값의 변화가 임계값 기준으로 충분히 작아지면 루프가 멈추도록 만들 거예요. 함수는 List를 반환하도록 바뀌었으며(다음 장에서 List에 대해 배웁니다), 이를 통해 각 반복 단계의 근사값을 확인할 수 있습니다.

이 수정된 sqrt_approx() 함수는 제곱근과 함께, 해당 임계값 기준의 결과에 도달하는 데 걸린 반복 횟수도 함께 반환합니다.

지침

100 XP

해가 충분히 근사한 경우(is_good_enough 변수 기준) 작동하는 break 조건을 추가하세요.