트랙
/
Rust
Rust
/
연습 문제
/
저항 색상
저항 색상

저항 색상

학습 연습 문제

소개

대부분의 프로그램은 여러 라이브러리에 의존해요. 그런 의존성을 직접 관리하는 건 꽤 번거로운 일이에요. 다행히 Rust 생태계에는 cargo가 기본으로 포함되어 있어요! cargo는 프로젝트의 의존성을 관리할 수 있어요.

Rust에서는 외부 패키지를 흔히 "crates"라고 불러요. crate는 Rust의 컴파일 단위예요. crate는 바이너리나 라이브러리로 컴파일될 수 있어요.

대부분의 경우, 외부 의존성을 추가하는 일은 Cargo.toml 파일에 한 줄을 추가하는 것만큼 간단해요.

이 연습 문제에서는 enum-iterator와 int-enum 의존성이 미리 추가되어 있어요.

지침

라즈베리 파이로 무언가를 만들고 싶다면, 아마 _저항기_를 사용하게 될 거예요. 이 연습 문제에서는 저항기에 대해 두 가지를 알아야 해요:

  • 각 저항기에는 저항값이 있어요.
  • 저항기는 아주 작아요. 저항값을 저항기 위에 인쇄한다 해도 읽기 어려울 정도로 작죠.

이 문제를 해결하기 위해 제조사는 저항값을 나타내는 색 띠를 저항기에 인쇄해요. 각 띠에는 위치와 숫자 값이 있어요.

저항기의 처음 두 개의 띠는 간단한 인코딩 방식을 따라요. 각 색은 하나의 숫자에 대응해요.

이 연습 문제에서는 띠의 값을 외우지 않아도 되도록 도움이 되는 프로그램을 만들어 볼 거예요.

색은 다음과 같이 인코딩돼요:

  • Black: 0
  • Brown: 1
  • Red: 2
  • Orange: 3
  • Yellow: 4
  • Green: 5
  • Blue: 6
  • Violet: 7
  • Grey: 8
  • White: 9

이 연습 문제의 목표는 다음과 같은 기능을 만드는 거예요:

  1. 특정 색 띠에 해당하는 숫자 값을 찾기
  2. 숫자 값을 색을 나타내는 문자열로 변환하기
  3. 서로 다른 띠 색상을 나열하기

첫 번째 작업에는 외부 크레이트 int-enum이 필요하고, 세 번째 작업에는 enum-iterator가 필요해요. 둘 다 이 연습 문제의 Cargo.toml에 이미 포함되어 있어요. 사용법을 익히려면 두 크레이트의 문서를 꼭 확인해 봐요. 두 번째 작업을 완료하려면 열거형의 Debug 트레이트 기본 구현을 살펴보면 돼요.

연상 기억법은 색을 숫자에 대응시키는데, 이 숫자들은 배열로 저장하면 배열에서의 인덱스와 우연히 일치해요: Better Be Right Or Your Great Big Values Go Wrong.

저항기의 색 코드 인코딩에 대한 더 자세한 내용은 전자 색 코드 위키백과 문서에서 확인할 수 있어요

GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Rust Exercism

저항 색상 문제를 시작해 볼 준비가 됐나요?

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