์ด ๋ณํ๊ธฐ๋ก ํ ์ ์๋ ์ผ
์ด ๋๊ตฌ๋ ์ซ์ ๊ฐ์ ์์ด๋ก ํ์ด ์ด ํํ๋ก ๋ฐ๊ฟ์ค๋๋ค. ์ธ ๊ฐ์ง ์ถ๋ ฅ ๋ฐฉ์ ์ค ํ๋๋ฅผ ์ ํํ ์ ์์ต๋๋ค. Words(๋จ์ด)๋ ์ซ์ ์์ฒด๋ฅผ ์์ด๋ก ์ฝ์ด ์ฐ๊ณ , Currency(ํตํ)๋ ๋ฌ๋ฌ์ ์ผํธ์ฒ๋ผ ํฐ ๋จ์์ ์์ ๋จ์๋ก ๊ตฌ์ฑ๋ ๊ธ์ก ๋ฌธ๊ตฌ๋ฅผ ๋ง๋ค๋ฉฐ, Check(์ํ)๋ ์๋ฌธ ์ํ ์ํ์ ์ฐ๋ ํ์ค ํ์์ผ๋ก ๊ธ์ก์ ๋จ์ด๋ก ์ ๊ณ ์ผํธ๋ 100๋ถ์ 1 ๋ถ์ ํํ์ ์ซ์๋ก ํ๊ธฐํฉ๋๋ค. ํ๊ธฐ๋ short scale(๋จ์ ์ฒด๊ณ)๋ฅผ ๋ฐ๋ฅด๋ฉฐ, billion์ \(10^9\), trillion์ \(10^{12}\)๋ก, ์์ด๊ถ ์ ๋ฐ์์ ํต์ฉ๋๋ ๋ฐฉ์์ ๋๋ค. ํตํ ์ด๋ฆ์ ๋๋ผ๋ณ ํน์์ด ์์ง๋ง, ๊ทธ ๋ฐ๋ฐํ์ด ๋๋ ์์ด ์ฒ ์ ๊ท์น์ ์ด๋์๋ ๋์ผํฉ๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ
์ฒซ ๋ฒ์งธ ์นธ์ ์ซ์๋ฅผ ์ ๋ ฅํ์ธ์. ์์์ , ๋ง์ด๋์ค ๊ธฐํธ, ์ฒ ๋จ์ ๊ตฌ๋ถ ๊ธฐํธ๋ฅผ ํฌํจํด๋ ๋ฉ๋๋ค. ์ํ๋ ์ถ๋ ฅ ํ์์ ๊ณ ๋ฆ ๋๋ค. Currency ๋ชจ๋์์๋ ํตํ๋ฅผ ์ ํํ๊ณ , Check ๋ชจ๋์์๋ ์ํ์ ์ธ์๋ ํตํ ์ด๋ฆ๊ณผ ํจ๊ป ์ ํ ์ฌํญ์ผ๋ก ์๊ฒฐ ๋จ์ด(exactly ๋๋ only)๋ฅผ ๊ณ ๋ฅผ ์ ์์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ๋์๋ฌธ์ ๋ฐฉ์์ ์ ํํ์ธ์. lowercase(์๋ฌธ์), UPPERCASE(๋๋ฌธ์), Title Case(๋จ์ด๋ณ ์ฒซ ๊ธ์ ๋๋ฌธ์), Sentence case(๋ฌธ์ฅ์) ์ค์์ ๊ณ ๋ฅผ ์ ์์ต๋๋ค. ์ ํํ ์์์ด ์ ์ฒด ๋ฌธ์์ด์ ๋ง์ง๋ง์ผ๋ก ์ ์ฉ๋์ด ๊ฒฐ๊ณผ๊ฐ ์ฆ์ ๊ฐฑ์ ๋ฉ๋๋ค.
๋ณํ ์๋ฆฌ
์ ์ ๋ถ๋ถ์ ์ค๋ฅธ์ชฝ๋ถํฐ ์ธ ์๋ฆฌ์ฉ ๋ฌถ์์ผ๋ก ๋๋ฉ๋๋ค. ๊ฐ ๋ฌถ์์ ๋ฐฑ์ ์๋ฆฌ, ๊ทธ๋ค์ ์ญ์ ์๋ฆฌ(twenty-one์ฒ๋ผ ์ผ์ ์๋ฆฌ์ ํ์ดํ์ผ๋ก ์ฐ๊ฒฐ), ๊ทธ๋ฆฌ๊ณ ๋จ์ ๋จ์ด(thousand, million, billion ๋ฑ) ์์ผ๋ก ์ฝ์ต๋๋ค.
$$N=\sum_{i=0}^{k} g_i\cdot 1000^{i}\;\Rightarrow\;\text{join}(\text{group}_i + \text{scale}_i)$$
๋ฏธ๊ตญ์ ํ๊ธฐ๋ฅผ ๋ฐ๋ผ ์์ํ ์ซ์ ์์๋ "and"๋ฅผ ๋ฃ์ง ์์ต๋๋ค. Words ๋ชจ๋์์๋ ์์์ ๋ค์ ์ซ์๋ฅผ "point"๋ผ๋ ๋จ์ด ๋ค์์ ํ ์๋ฆฌ์ฉ ๋ฐ๋ก ์ฝ์ผ๋ฉฐ ์์๋ฆฌ์ 0๋ ์ ์งํ๋ฏ๋ก, .05๋ "point zero five"๊ฐ ๋ฉ๋๋ค.
$$\text{words} = \text{intToWords}(\text{integer}) \; [+\; \text{"point"} + \text{digits}]$$
Currency์ Check ๋ชจ๋์์๋ ๋ถ๋์์์ ์ค์ฐจ๋ฅผ ํผํ๊ธฐ ์ํด ๊ฐ์ ์ผํธ ๋จ์ ์ ์๋ก ๋ฐ์ฌ๋ฆผํฉ๋๋ค.
$$\text{cents}=\operatorname{round}(x\times 100),\;\text{whole}=\lfloor \text{cents}/100\rfloor,\;\text{minor}=\text{cents}\bmod 100$$
์ค์ ์์
Currency ๋ชจ๋์์ dollars์ Title Case๋ฅผ ์ ํํ๊ณ 1234.05๋ฅผ ์ ๋ ฅํด ๋ณด์ธ์. ์ ์ ๋ถ๋ถ 1234๋ "one thousand two hundred thirty-four", ์ผํธ ๊ฐ 5๋ "five"๋ก ์ฝํ "one thousand two hundred thirty-four dollars and five cents"๊ฐ ๋ฉ๋๋ค. ์ฌ๊ธฐ์ Title Case๋ฅผ ์ ์ฉํ๋ฉด "One Thousand Two Hundred Thirty-Four Dollars And Five Cents"๊ฐ ๋ฉ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์ซ์ ์์ "and"๊ฐ ์๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์? ๋ฏธ๊ตญ์ ์์ด์์๋ ์ ์๋ฅผ ์ฝ์ ๋ "and"๋ฅผ ์๋ตํฉ๋๋ค. "and"๋ ๊ธ์ก์ ํฐ ๋จ์์ ์์ ๋จ์๋ฅผ ๊ตฌ๋ถํ ๋๋ง ์ฌ์ฉ๋ฉ๋๋ค.
์ผํธ๊ฐ ์๋ ํตํ๋ ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋๋์? ์(yen), ์์(yuan), ์(won), ๋(dong)์๋ ๋ณด์กฐ ๋จ์๊ฐ ์์ผ๋ฏ๋ก ๋ฐ์ฌ๋ฆผ ํ ์ ์ ๊ธ์ก๋ง ์์ด๋ก ํ๊ธฐ๋ฉ๋๋ค.
์ ๋ ฅ์นธ์ ๋น์๋๋ฉด ์ด๋ป๊ฒ ๋๋์? ๋น ์นธ์ 0์ผ๋ก ์ฒ๋ฆฌ๋์ด "zero"๋ฅผ ๋ฐํํฉ๋๋ค.