소개
이 랩에서는 JavaScript 를 사용하여 정수를 로마 숫자 표현으로 변환하는 방법을 살펴봅니다. 정수 값을 해당 로마 숫자에 매핑하기 위해 조회 테이블을 사용하고, reduce 메서드를 사용하여 값을 반복하고 입력 정수의 로마 숫자 표현을 구성합니다. 이 랩을 마치면 JavaScript 에서 배열과 문자열을 조작하여 복잡한 작업을 수행하는 방법에 대한 더 깊은 이해를 얻게 될 것입니다.
이 랩에서는 JavaScript 를 사용하여 정수를 로마 숫자 표현으로 변환하는 방법을 살펴봅니다. 정수 값을 해당 로마 숫자에 매핑하기 위해 조회 테이블을 사용하고, reduce 메서드를 사용하여 값을 반복하고 입력 정수의 로마 숫자 표현을 구성합니다. 이 랩을 마치면 JavaScript 에서 배열과 문자열을 조작하여 복잡한 작업을 수행하는 방법에 대한 더 깊은 이해를 얻게 될 것입니다.
정수를 로마 숫자 표현으로 변환하려면 다음 단계를 따르세요.
터미널/SSH 를 열고 node를 입력하여 코딩 연습을 시작합니다.
toRomanNumeral() 함수는 1에서 3999 사이의 값 (양쪽 포함) 을 허용합니다.
(로마 숫자 값, 정수) 형식의 2-값 배열을 포함하는 조회 테이블을 만듭니다.
Array.prototype.reduce()를 사용하여 lookup의 값을 반복하고 num을 해당 값으로 반복해서 나눕니다.
String.prototype.repeat()를 사용하여 로마 숫자 표현을 누산기에 추가합니다.
다음은 toRomanNumeral() 함수의 코드입니다.
const toRomanNumeral = (num) => {
const lookup = [
["M", 1000],
["CM", 900],
["D", 500],
["CD", 400],
["C", 100],
["XC", 90],
["L", 50],
["XL", 40],
["X", 10],
["IX", 9],
["V", 5],
["IV", 4],
["I", 1]
];
return lookup.reduce((acc, [k, v]) => {
acc += k.repeat(Math.floor(num / v));
num = num % v;
return acc;
}, "");
};
다음 예제를 사용하여 함수를 테스트할 수 있습니다.
toRomanNumeral(3); // 'III'
toRomanNumeral(11); // 'XI'
toRomanNumeral(1998); // 'MCMXCVIII'
축하합니다! 정수에서 로마 숫자로 변환하는 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.