글

라벨이 Roman Numerals Encoder인 게시물 표시

Codewars 문제 풀이 : Roman Numerals Encoder

서론 C++ STD 무식쟁이 임베디드 개발자가 C++ STD 좀 해볼까 하고 codewars의 문제 풀이에 도전합니다. 문제 CodeWars: Roman Numerals Encoder 간단히 말해서 아라비아 숫자를 로마 숫자로 변경하는 문제입니다. 위키 에 다음과 같은 테이블이 있습니다. Symbol I V X L C D M Value 1 5 10 50 100 500 1,000 여기에 IV(4), IX(9), LX(40), XC(90), CD(400), CM(900) 만 추가하면 됩니다. 해결방안 보통 IV와 같은 문자를 만드는 방법을 고민하게 되는데 이런 간단한 문제에서는 그냥 배열로 나열해놓고 하나씩 대입해버리더군요. 그게 간단합니다. 자료구조 C에서는 그냥 struct 만들어서 array로 돌려버리면 끝이지만, STD 를 쓰기로 했으니 고민이 됩니다. std::map 적합해보입니다. value에 따라서 symbol을 가져오면 되니까요. 초기화도 간단해서 좋네요.     std::map<int, std::string> romanNumeric = {         { 1000, "M" },         { 900, "CM" },         { 500, "D" },         { 400, "CD" },         { 100, "C" },         { 90, "XC" },         { 50, "L" },         { 40, "XL" },         { 10, "X" },         { ...

이 블로그의 인기 게시물

구글 시트에 여러 행 한번에 추가하기

WSL2 Ubuntu 20.04 및 네트워크 설정

우분투 terminator 에서 파일 경로 클릭시 vscode 에서 열기