[R] 1부터 100까지 3의 배수의 합과 평균 계산하기

해당 포스트는 1부터 100까지 숫자들 중 3의 배수의 합과 평균을 계산하는 방법을 소개합니다.

r-calculate-the-sum-and-average-of-multiple-of-3

INTRO

R프로그래밍 기초 과정에서는 사칙연산(더하기, 뺄셈, 곱셈, 나눗셈)을 활용하여 프로그래밍 하는 기본 방법에 대해 많이 연습하게 됩니다. 해당 문제는 '3의 배수'를 찾아내는 방법만 이해하면 쉽게 풀 수 있는 문제로 아래에서 설명하도록 하겠습니다.


r-calculate-the-sum-and-average-of-multiple-of-3
[출처] 네이버 지식인

질문

R프로그래밍 질문 1) 1부터 100까지 3의 배수의 합과 평균내기


풀이

프로그래밍 문제는 다양한 방법으로 풀이 가능합니다. 예를 들어, 해당 문제도 반복문을 이용하여 풀 수도 있고, 간단한 벡터 연산으로 풀이도 가능합니다. 물론 이 외의 방법들도 존재합니다.

아래에서는 반복문이 아닌 벡터 연산으로 풀이하는 방법에 대해 설명할 예정이며, 절차는 아래와 같습니다.

  1. 1부터 100까지 정수가 담긴 변수 n 생성
  2. n에서 3의 배수를 뽑아내어 n_3 변수에 저장
  3. sum() 함수로 합계 계산
  4. mean() 함수로 평균 계산

1. 1부터 100까지 정수가 담긴 변수 n 생성

1부터 100까지의 연속된 숫자를 생성하는 것은 콜론(:)기호를 이용하여 생성할 수 있습니다.

n <- 1:100
n
  [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19
 [20]  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38
 [39]  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57
 [58]  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76
 [77]  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95
 [96]  96  97  98  99 100

2. n에서 3의 배수를 뽑아내어 n_3 변수에 저장

3의 배수를 찾아내는 방법은 나눗셈을 이용하면 가능합니다. 아래에서는 n에 들어있는 모든 정수들 중에 3으로 나누어 나머지가 0인 값들을 추출합니다.

R에서 나눗셈과 나머지를 계산하는 연산기호

  • 나눗셈 : / -> 6/2=3
  • 나머지 : %% -> 5/3=2

n_3 <- n[n %% 3 == 0]
n_3
 [1]  3  6  9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78
[27] 81 84 87 90 93 96 99

3. sum() 함수로 합계 계산

R에서 합을 계산해 주는 함수는 sum() 입니다.

sum(n_3)
[1] 1683

4. mean() 함수로 평균 계산

R에서 평균을 계산해 주는 함수는 mean() 입니다.

mean(n_3)
[1] 51

마무리

R에서 나눗셈과 나머지를 이용하는 방식은 소인수 분해, 소수 찾기, 배수 찾기 등 다양한 곳에 활용됩니다. 또한, 위에서 접근한 벡터 연산 방식은 반복문보다 리소스 측면에서 효율성이 높은 방식으로 알아두시면 후에 도움이 될거라 있을거라 생각합니다.


관련 링크

[1] 네이버 지식인