도전 과제 - 데이터 형식
이 모듈에서 배운 모든 내용을 연습해보기 위해 몇 가지 코딩 도전 과제를 준비했습니다. 이러한 과제는 복잡하지 않으며 각 과제에 대한 해결 방법이 제공됩니다. 먼저 직접 과제를 해결해본 다음, 제시된 해결 방법과 비교해 보세요. 구체적인 내용이 기억나지 않는 경우 언제든지 콘텐츠를 다시 검토해도 됩니다.
피보나치 시퀀스를 계산하는 프로그램 작성
이 첫 번째 도전 과제에서는 숫자에서 피보나치 시퀀스를 계산하는 프로그램을 작성합니다. 피보나치 수열의 모든 숫자가 포함된 슬라이스를 반환하는 함수를 작성합니다. 시퀀스는 사용자가 입력한 숫자를 기반으로 계산을 수행합니다. 입력 번호는 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
=> 1000D
=> 500C
=> 100L
=> 50X
=> 10V
=> 5I
=> 1
사용자 입력에 이전 목록과 다른 문자가 함께 제공되는 경우 오류를 출력합니다.
더 작은 숫자가 더 큰 숫자보다 앞에 나오는 경우가 있으므로 단순히 숫자를 합산할 수는 없습니다. 예를 들어, 숫자 MCM
은 1,900
을 출력해야 합니다.