도전 과제 - 데이터 형식

완료됨

이 모듈에서 배운 모든 내용을 연습해보기 위해 몇 가지 코딩 도전 과제를 준비했습니다. 이러한 과제는 복잡하지 않으며 각 과제에 대한 해결 방법이 제공됩니다. 먼저 직접 과제를 해결해본 다음, 제시된 해결 방법과 비교해 보세요. 구체적인 내용이 기억나지 않는 경우 언제든지 콘텐츠를 다시 검토해도 됩니다.

피보나치 시퀀스를 계산하는 프로그램 작성

이 첫 번째 도전 과제에서는 숫자에서 피보나치 시퀀스를 계산하는 프로그램을 작성합니다. 피보나치 수열의 모든 숫자가 포함된 슬라이스를 반환하는 함수를 작성합니다. 시퀀스는 사용자가 입력한 숫자를 기반으로 계산을 수행합니다. 입력 번호는 2보다 커야 합니다. 2보다 작은 숫자를 입력하면 오류가 발생하고 nil 조각이 반환된다고 가정합니다.

피보나치 시퀀스는 각 숫자가 이전 2개의 피보나치 숫자의 합계인 숫자 목록입니다. 예를 들어, 6에 대한 숫자 시퀀스는 1,1,2,3,5,8이고, 7에 대한 숫자 시퀀스는 1,1,2,3,5,8,13이고, 8에 대한 숫자 시퀀스는 1,1,2,3,5,8,13,21입니다.

로마 숫자 변환기 만들기

MCLX와 같은 로마 숫자를 1,160으로 변환하는 프로그램을 작성합니다. 맵을 사용하여 문자열을 숫자로 변환하는 데 사용할 기본 로마 숫자를 로드합니다. 예를 들어, M은 맵에서 키가 되며 해당 값은 1000이 됩니다. 다음 문자열 맵 목록을 사용합니다.

  • M => 1000
  • D => 500
  • C => 100
  • L => 50
  • X => 10
  • V => 5
  • I => 1

사용자 입력에 이전 목록과 다른 문자가 함께 제공되는 경우 오류를 출력합니다.

더 작은 숫자가 더 큰 숫자보다 앞에 나오는 경우가 있으므로 단순히 숫자를 합산할 수는 없습니다. 예를 들어, 숫자 MCM1,900을 출력해야 합니다.