Raindrops는 고전적인 면접 질문인 FizzBuzz 챌린지를 조금 더 복잡하게 만든 버전이에요.
이 과제에서는 숫자를 그에 해당하는 빗방울 소리로 변환해요.
주어진 숫자가 다음과 같은 경우:
"Plong"이 돼요."PlingPlang"이 돼요."34"가 돼요.이 연습 문제는 Python의 % (나머지 연산) 연산자로 푸는 것이 가장 좋아요. 이 연산자는 양의 정수 나눗셈의 나머지를 반환해요.
같은 기능을 메서드로 제공하는 operator.mod()도 operator 모듈에 있어요.
Python은 math 모듈에서 추가적인 '나머지' 메서드도 제공해요.
math.fmod()는 %처럼 동작하지만, 실수를 대상으로 동작해요.
math.remainder()는 나눗셈의 나머지를 구할 때 "0에 가장 가까운 단계" 알고리즘을 구현해요.
이 메서드들에 익숙해지기를 권하지만, 둘 다 %의 결과와 정확히 일치하지는 않으므로 이 연습 문제에 사용하는 것은 권하지 않아요.
내장 함수 divmod()도 두 양의 정수와 함께 사용하면 %와 일치하는 나머지를 주지만, 언패킹이 필요한 tuple을 반환해요.
Exercism에 가입하고 Python 트랙을 개념 17개연습 문제 146개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.
함수형 파이프라인, 행렬 곱셈, 매크로를 사용해 미리 계산한 표 기반 풀이, 객체 지향 접근법, Python과 TCL을 모두 인상적으로 활용한 풀이, 그리고 엔터프라이즈 에디션까지 다양한 풀이를 살펴봐요.