[R] 1부터 100까지 3의 배수합 구하기 (feat. 0.5초 간격 반복문 실행)

문제 정의

R에서 반복문을 이용하여 1부터 100까지 3의 배수합을 구하여라.
(단, 반복문은 0.5초 간격으로 실행되도록 하여라.)

풀이 접근

해당 문제는 3의 배수합을 구하는 반복문 활용 문제로 for문을 이용하면 간단하게 풀이가 가능합니다. 해당 문제에서 고민이 될 수 있는 부분은 풀이 조건인 반복문의 0.5초 간격 실행인데, R에서 제공하는 Sys.sleep() 함수를 이용하시면 됩니다.

  1. 1부터 100까지 3의 배수합 구하기 : for
  2. 반복문 0.5초 간격 실행 : Sys.sleep()

R코드

위 조건에 맞춰 작성한 전체 코드는 아래와 같습니다.

total_sum <- 0 

for (i in 1:100){ 

  if (i %% 3 == 0){ 

    total_sum <- total_sum + i
    print(total_sum)

  }
  Sys.sleep(0.5)

}

위 코드는 배수합을 저장할 변수(total_sum)을 0으로 초기화하고, 1부터 100까지 증가하면서 3의 배수의 수만 누적하여 더해줍니다. 그리고 Sys.sleep() 함수로 일시적인 대기(freeze)를 적용해 실행 속도를 조절합니다.

코드 블럭 설명

  • total_sum <- 0 : 3의 배수합을 저장할 변수 생성
  • for (i in 1:100){ } : 1부터 100까지 반복문 수행
  • if (i %% 3 == 0){ } : 3의 배수 판단
  • total_sum <- total_sum + i : 3의 배수인 경우, total_sum에 더하기
  • Sys.sleep(0.5) : 0.5초 간격으로 계산 멈춤(freeze)

마무리

이번 문제는 R 반복문(for), 나머지 연산(%%), freeze 함수(Sys.sleep)의 복합적인 활용이 필요한 문제였습니다. R에서는 제공하는 다양한 함수들을 적재적소에 사용하려면 해당 문제와 같은 응용 문제들을 많이 다뤄보시는게 좋습니다.


banner-request-analysis