μ€λμ μμμΌμ΄λΌ μ’ μ¬μΈ μ€ μμλλ..
μκ΄΄κ°μ λΉ μ§κ² ν μ€λμ λ¬Έμ .. λ‘λ§μ.. λΆλ€λΆλ€..
λ‘λ§μμμ μ«μλ‘ λ°κΎΈκΈ° 1~3999 μ¬μ΄μ λ‘λ§μ sλ₯Ό μΈμλ‘ μ£Όλ©΄ κ·Έμ ν΄λΉνλ μ«μλ₯Ό λ°νν΄μ£ΌμΈμ.
λ‘λ§ μ«μλ₯Ό μ«μλ‘ νκΈ°νλ©΄ λ€μκ³Ό κ°μ΅λλ€.
μ λͺ© | λ΄μ© |
---|---|
Symbol | Value |
I | 1 |
V | 5 |
X | 10 |
L | 50 |
C | 100 |
D | 500 |
M | 1000 |
λ‘λ§μλ₯Ό μ«μλ‘ μ½λ λ°©λ²μ λ‘λ§μλ₯Ό μΌμͺ½λΆν° μ°¨λ‘λλ‘ λνλ©΄ λ©λλ€.
III = 3 XII = 12 XXVII = 27
κ·Έλ°λ° 4λ₯Ό ννν λλ IIIIκ° μλλΌ IV μ λλ€.
λ€μ μ«μμμ μμ μ«μλ₯Ό λΉΌμ£Όλ©΄ λ©λλ€.9λ IXμ λλ€. - Iλ Vμ Xμμ μμ 4, 9 Xλ L, Cμμ μμ 40, 90 Cλ D, Mμμ μμ 400, 900
1μκ°λμ λκΈ°μ κ³ λ―Όν κ²°κ³Ό, μ°λ¦¬μ κ°μ€μ λ€μκ³Ό κ°μλ€.
dictionary
λ΄λΆμkey, value
λ‘ λ‘λ§μμ ν΄λΉ κ°μ μ§μ ν΄λκΈ°- ν κΈμμ© λ€μ κΈμμ λΉκ΅λ₯Ό λ°λ³΅νλ,
μ΄μ μμμ λ‘λ§μ κ°μ΄ λ μμκ²½μ°-
μ°μ°μ νκ³ κ·Έ λ€μ κΈμμ λ°λ³΅λ¬Έμ passνλλ‘ ν κ²
ππ» μ΄κ±Έ λλμ²΄κ° μ΄λ»κ² ꡬνν΄μΌνλ μΆμκ±°μ§..
κ²°κ΅ λͺ»μ°Έκ³ 1μκ° λ€μ ꡬκΈλ§μ μλνλ€.
보ν΅μ νμ΄λ λ‘λ§μλ‘ λμ¬ μ μλ μμΈμ μΈ κ²½μ°, (90, 40...)μ λν μ²λ¦¬λ₯Ό 미리 ν΄ λκ³ λ¬Έμμ΄μ λμ‘°νλλ°,
μ°λ¦¬κ° μκ°ν κ°μ€κ³Ό μΌμΉνλ λ‘μ§μ΄ μλμ§ κΆκΈν΄μ κ³μν΄μ ꡬκΈλ§μ νλ€.
[νμ΄μ¬] λ‘λ§μ«μλ₯Ό 10μ§μ μ μλ‘ λ³ννκΈ°
ππ» ν΄λΉ νμ΄κ° μ°λ¦¬μ κ°μ€κ³Ό κ°μ₯ λ§μλ€μλ€.
def roman2int(roman):
def getdv(r):
p = 'IVXLCDMF'.find(r)
return 0 if p < 0 else 10**(p // 2) * (1 (4*(p % 2)))
i = 0
v = map(getdv, roman)
s = 0
while i < len(v):
if i 1 == len(v) or v[i] >= v[i+1]: s += v[i]
else: s -= v[i]
i = 1
return s
νμ§λ§ μ¬νκ²λ νμ΄μ¬μ map ν¨μλ₯Ό μ΄ν΄νμ§ λͺ»ν΄μγ
γ
γ
γ
λ€λ₯Έ λκΈ°λΆλ€μκ² μ§λ¬ΈνκΈ° μμνλ€.
μ°λ¦¬κ° μκ°ν κ°μ€λ‘ λ¬Έμ λ₯Ό ν μ μλ건μ§..!
def roman_to_num(s):
# μ¬κΈ°μ μ½λλ₯Ό μμ±ν΄μ£ΌμΈμ.
a = [β4β,β9β,β40β,β90β,β400β,β900β]
r = [βIVβ,βIXβ,βXLβ,βXCβ,βCDβ,βCMβ]
b = [β1β,β5β,β10β,β50β,β100β,β500β,β1000β]
o = [βIβ,βVβ,βXβ,βLβ,βCβ,βDβ,βMβ]
new=[]
for i in range(len(a)):
if r[i] in s:
s=s.replace(r[i],a[i])
new.append(a[i])
for i in range(len(s)):
if s[i] in o:
index=o.index(s[i])
new.append(b[index])
return sum(list(map(int,new)))
μλ§μ μ½λ μ€μμ λ―Όμ² λμ΄ μμ±ν μ½λλ₯Ό μ°Έκ³ νκΈ°λ‘ νλ€.
μ΄λ―Έ μμΈμ μΈ κ²½μ°μ λν μ²λ¦¬λ₯Ό ν΄ λμ κ²½μ°μλ€.
첫λ²μ§Έ λ°λ³΅λ¬Έμ ν΅κ³Όνκ³ λλ©΄ λμ΄μ¨ κ° sλ λ¬Έμμ΄, μ«μκ° μμΈ λ¨μ΄κ° λλ€.
κ·Έλ¦¬κ³ μ΄ μ€ μΆμΆλ μ«μλ new λΌλ 리μ€νΈ λ΄μ λ΄μλ κ²!
μ΄ν λλ²μ§Έ λ°λ³΅λ¬Έμ ν΅ν΄μ λλ¨Έμ§ κΈμλ€μ μ«μλ₯Ό μ‘°ν©ν λ€ new 리μ€νΈ λ΄μ λ΄μμ£Όλ κ²!
λ§μ§λ§μ λ¦¬ν΄ ν λ new 리μ€νΈ λ΄ λͺ¨λ κ°λ€μ λν΄μ λ°ννλ€.
νΌμμ .. κ³μ 미리 κ°μ μ ν΄λλ©΄ 8λ§μ κ³μ°νκ³ μΆμλ? λ무 λΉν¨μ¨μ μΈκ±° μλκ°? λΌκ³ μκ°νλλ°
κ·Έκ±Έ λ°μ§ κ²½μ°κ° μλμλ κ² κ°λ€.
μ΄ν΄ κ° λκΉμ§ κ³μν΄μ λ€μ λ€μ¬λ€λ΄μΌμ§ π€―