brunch

You can make anything
by writing

C.S.Lewis

by 워녁s토리 May 06. 2017

Learning R: 짝수 홀수 감별기

function 함수 응용 2

저번에는 function 함수로 D-Day 계산기를 만들어 보았다.


function 함수는 은근히 재미있는 부분이 많은데, 좋은 아이디어가 떠오르면 바로바로 응용을 하면서 익히는 중이다.


이번에는 간단하게 짝수 홀수 감별기를 만들어 보았다.


우선 입력된 숫자가 짝수인지 홀수인지를 R에게 인식 시키는 방법에 대해서 고민해보았다.


3/2 = 1.5 ,  2/2 = 1  홀수는 소수점 0.5가 있는 몫이 반환되고, 짝수는 항상 나누어 떨어진다.


그래서 혹시 1.5가 integer로 나오는지... 확인해 봤더니!




얄짤없이 numeric이다. 이 방법은 그럼 패스.


아 그렇다면....


round 함수나 print 함수를 사용할 때 arguments로 사용되는 digits 가 떠올랐다.

digits는 소수점 자릿수를 정해주는 녀석인데 (print랑 round에서 사용되는 쓰임새는 서로 다름!)

이것을 이용하여 짝수, 홀수를 구분할 수 있지 않을까...?!



그런 함수 없답니다.


네 그럼 다음 시도.


가만히 생각해보니 가장 기본적인 원리를 놓치고 있었다!!


이미 정답은 내가 알고 있었다. 짝수는 2로 나누어 떨어지고 홀수는 2로 나누어 떨어지지 않는다.


그 말은 즉슨 나머지를 알려주는 %% 연산자를 사용하면 된단 말씀!


두근거리는 마음으로 시도해보았다.



오 성공....!!


짝수는 영어로 even number

홀수는 영어로 odd number

이기에 evenOdd라는 이름으로 함수를 만들어 주었다.


원리는 간단하다. 주어진 값이 2로 나누어서 나머지가 0이면 "Even"을 프린트하고, 0이 아니면 "Odd"를 프린트하라는 함수를 만들었다.


2를 넣으니 Even, 3을 넣으니 Odd라고 알려준다.




그렇다면 내가 만든 함수를 또 응용!


1부터 101까지를 vec1 에 넣어두고


그것의 길이를 확인해보니 101


vec1 의 길이는 짝수일까? 홀수일까?


당연히 홀수!!


Odd라고 이쁘게 프린트해준다~~






역시 재미있는 것을 해야 포스팅도 빨리 끝난다.

미뤄두고 있는 matrix 와 list에 대한 내용은 언제....


조만간 수준 확 올려서 포스팅 하고 싶다.

시간이 많다면..!

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari