빗방울

빗방울

쉬움

소개

Raindrops는 고전적인 면접 질문인 FizzBuzz 챌린지를 조금 더 복잡하게 만든 버전이에요.

지침

이 과제에서는 숫자를 그에 해당하는 빗방울 소리로 변환해요.

주어진 숫자가 다음과 같은 경우:

  • 3으로 나누어떨어지면 결과에 "Pling"을 더해요.
  • 5로 나누어떨어지면 결과에 "Plang"을 더해요.
  • 7로 나누어떨어지면 결과에 "Plong"을 더해요.
  • 3, 5, 7로 나누어떨어지지 않으면 결과는 그 숫자를 문자열로 나타낸 값이어야 해요.

예시

  • 28은 7로 나누어떨어지지만 3이나 5로는 나누어떨어지지 않아요. 따라서 결과는 "Plong"이 돼요.
  • 30은 3과 5로 나누어떨어지지만 7로는 나누어떨어지지 않아요. 따라서 결과는 "PlingPlang"이 돼요.
  • 34는 3, 5, 7로 나누어떨어지지 않아요. 따라서 결과는 "34"가 돼요.
Note

어떤 숫자가 다른 숫자로 나누어떨어지는지 확인하는 흔한 방법은 나머지나 모듈로를 0과 비교하는 거예요. 대부분의 언어는 이 둘 중 하나(또는 둘 다)를 위한 연산자나 함수를 제공해요.

구현

이 연습 문제에서는 반환하는 문자열을 할당하는 프로시저를 구현해요. 문자열을 해제하는 것은 프로시저 호출자의 책임이에요.

// The procedure will be called like that:
converted := convert(3)
// ...
// and eventually the caller will delete the string
delete(converted)
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Odin Exercism

빗방울 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 Odin 트랙을 연습 문제 73개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.

빗방울 깊이 살펴보기!

함수형 파이프라인, 행렬 곱셈, 매크로를 사용해 미리 계산한 표 기반 풀이, 객체 지향 접근법, Python과 TCL을 모두 인상적으로 활용한 풀이, 그리고 엔터프라이즈 에디션까지 다양한 풀이를 살펴봐요.