R에는 다른 많은 언어와 동일한 연산자 집합이 있어요.
1 == 2 # FALSE
1 != 2 # TRUE
1 < 2 # TRUE
1 > 2 # FALSE
1 <= 2 # TRUE
1 >= 2 # FALSE
if-else의 기본 형태는 다음과 같아요.
if (x > 10) {
y <- "big"
} else if (x > 2) {
y <- "medium"
} else {
y <- "tiny"
}
이 경우 불리언을 감싸는 괄호 ()와 문을 감싸는 중괄호 {}가 모두 필요해요.
단순한 if 문은 짧게 줄일 수 있어요.
if (x == 0) return("success")
이번 연습 문제에서는 자동차 공장의 조립 라인 생산량을 분석하는 코드를 작성해요. 조립 라인의 속도는 0(꺼짐)부터 10(최대)까지 설정할 수 있어요.
가장 낮은 속도인 1에서는 매시간 221대의 자동차가 생산돼요. 생산량은 속도에 따라 선형으로 늘어나요. 따라서 속도를 4로 설정하면 시간당 4 * 221 = 884대의 자동차를 생산해야 해요. 하지만 속도가 높아질수록 결함이 있는 자동차가 만들어질 가능성이 커지고, 그런 자동차는 버려야 해요.
해야 할 작업은 세 가지예요.
success_rate() 메서드를 구현해서 주어진 속도에서 오류 없이 만들어지는 자동차의 비율을 계산해요. 다음 표는 속도가 성공률에 어떤 영향을 주는지 보여줘요.
0: 성공률 0%.1부터 4까지: 성공률 100%.5부터 8까지: 성공률 90%.9: 성공률 80%.10: 성공률 77%.success_rate(10)
# => 0.77
production_rate_per_hour() 메서드를 구현해서 성공률을 고려한 조립 라인의 시간당 생산량을 계산해요.
production_rate_per_hour(6)
# => 1193.4
참고로 반환되는 값은 double이에요.
working_items_per_minute() 메서드를 구현해서 분당 몇 대의 정상 자동차가 생산되는지 계산해요.
working_items_per_minute(6)
# => 19
참고로 반환되는 값은 정수예요. 불완전한 자동차는 포함되지 않아요.
Exercism에 가입하고 R 트랙을 개념 21개연습 문제 111개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.