λ¬Έμ μ€λͺ
0κ³Ό 1λ‘ μ΄λ£¨μ΄μ§ μ΄λ€ λ¬Έμμ΄ xμ λν μ΄μ§ λ³νμ λ€μκ³Ό κ°μ΄ μ μν©λλ€.
- xμ λͺ¨λ 0μ μ κ±°ν©λλ€.
- xμ κΈΈμ΄λ₯Ό cλΌκ³ νλ©΄, xλ₯Ό "cλ₯Ό 2μ§λ²μΌλ‘ ννν λ¬Έμμ΄"λ‘ λ°κΏλλ€.
μλ₯Ό λ€μ΄, x = "0111010"μ΄λΌλ©΄, xμ μ΄μ§ λ³νμ κ°νλ©΄ x = "0111010" -> "1111" -> "100" μ΄ λ©λλ€.
0κ³Ό 1λ‘ μ΄λ£¨μ΄μ§ λ¬Έμμ΄ sκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§λλ€. sκ° "1"μ΄ λ λκΉμ§ κ³μν΄μ sμ μ΄μ§ λ³νμ κ°νμ λ, μ΄μ§ λ³νμ νμμ λ³ν κ³Όμ μμ μ κ±°λ λͺ¨λ 0μ κ°μλ₯Ό κ°κ° λ°°μ΄μ λ΄μ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- sμ κΈΈμ΄λ 1 μ΄μ 150,000 μ΄νμ λλ€.
- sμλ '1'μ΄ μ΅μ νλ μ΄μ ν¬ν¨λμ΄ μμ΅λλ€.
μ μΆλ ₯ μ
s | result |
"110010101001" | [3,8] |
"01110" | [3,3] |
"1111111" | [4,1] |
μ μΆλ ₯ μ μ€λͺ
μ μΆλ ₯ μ #1
- "110010101001"μ΄ "1"μ΄ λ λκΉμ§ μ΄μ§ λ³νμ κ°νλ κ³Όμ μ λ€μκ³Ό κ°μ΅λλ€.
νμ°¨ | μ΄μ§ λ³ν μ΄μ | μ κ±°ν 0μ κ°μ | 0μ κ±° ν κΈΈμ΄ | μ΄μ§ λ³ν κ²°κ³Ό |
1 | "110010101001" | 6 | 6 | "110" |
2 | "110" | 1 | 2 | "10" |
3 | "10" | 1 | 1 | "1" |
- 3λ²μ μ΄μ§ λ³νμ νλ λμ 8κ°μ 0μ μ κ±°νμΌλ―λ‘, [3,8]μ return ν΄μΌ ν©λλ€.
μ μΆλ ₯ μ #2
- "01110"μ΄ "1"μ΄ λ λκΉμ§ μ΄μ§ λ³νμ κ°νλ κ³Όμ μ λ€μκ³Ό κ°μ΅λλ€.
νμ°¨ | μ΄μ§ λ³ν μ΄μ | μ κ±°ν 0μ κ°μ | 0 μ κ±° ν κΈΈμ΄ | μ΄μ§ λ³ν κ²°κ³Ό |
1 | "01110" | 2 | 3 | "11" |
2 | "11" | 0 | 2 | "10" |
3 | "10" | 1 | 1 | "1" |
- 3λ²μ μ΄μ§ λ³νμ νλ λμ 3κ°μ 0μ μ κ±°νμΌλ―λ‘, [3,3]μ return ν΄μΌ ν©λλ€.
μ μΆλ ₯ μ #3
- "1111111"μ΄ "1"μ΄ λ λκΉμ§ μ΄μ§ λ³νμ κ°νλ κ³Όμ μ λ€μκ³Ό κ°μ΅λλ€.
νμ°¨ | μ΄μ§ λ³ν μ΄μ | μ κ±°ν 0μ κ°μ | 0 μ κ±° ν κΈΈμ΄ | μ΄μ§ λ³ν κ²°κ³Ό |
1 | "1111111" | 0 | 7 | "111" |
2 | "111" | 0 | 3 | "11" |
3 | "11" | 0 | 2 | "10" |
4 | "10" | 1 | 1 | "1" |
- 4λ²μ μ΄μ§ λ³νμ νλ λμ 1κ°μ 0μ μ κ±°νμΌλ―λ‘, [4,1]μ return ν΄μΌ ν©λλ€.
νμ΄ μ½λ
def solution(s):
answer = [0, 0]
while s != '1':
answer[0] += 1
whole = len(s)
s = ''.join(s.split('0'))
one = len(s)
answer[1] += (whole - one)
s = bin(one)[2:]
return answer
split ν¨μμ νΉμ±μ μ΄μ©νλ€.
0μ λͺ¨λ μ κ±° νλ―λ‘, 0μ κΈ°μ€μΌλ‘ λ¬Έμμ΄μ λλ λ€μ λΆμ΄λ©΄ 1λ§ λ¨μ λ¬Έμμ΄μ΄ μμ±λ κ²μ΄λ€.
λ¬Έμ μ νΉμ±μ 1λ§ λ¨μ λ¬Έμμ΄μ 'κΈΈμ΄'λ§ νμνλ―λ‘, κ΅³μ΄ split λ§κ³ countλ₯Ό νμ©νλ κ²μ΄ λμ± ν¨μ¨μ μΌ κ²μ΄λΌκ³ μκ°λλ€.
μ κ±°ν 0μ κ°μλ, μ κ±°νκΈ° μ΄μ κΈΈμ΄ - μ κ±°ν ν 1λ‘λ§ μ΄λ€μ§ ν μ€νΈμ κΈΈμ΄λ₯Ό ν΄μ ꡬν μ μλ€.
10μ§μλ₯Ό 2μ§μλ‘ λ§λλ λ°©λ²μ κ°λ¨νλ€.
νμ΄μ¬μμ μ 곡νλ bin ν¨μλ₯Ό μ¬μ©νλ©΄ λλλ°,
bin ν¨μλ₯Ό μ¬μ©νλ©΄ μμ '0b'λΌλ λ¬Έμκ° λΆμ string typeμ΄ λ¦¬ν΄λλ€.
λ°λΌμ μ¬λΌμ΄μ±μ ν΅ν΄ μμ '0b'λ₯Ό μ κ±°ν κ°μ s μ κ°±μ ν΄μ€λ€.
'π μ½λ©ν μ€νΈ λλΉ : PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] μ«μμ νν (level2, python) (0) | 2022.09.08 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] μ¬λ°λ₯Έ κ΄νΈ (level2, python) (0) | 2022.09.08 |
[νλ‘κ·Έλλ¨Έμ€] μ΅μκ° λ§λ€κΈ° (level2, python) (0) | 2022.09.08 |
[νλ‘κ·Έλλ¨Έμ€] JadenCase λ¬Έμμ΄ λ§λ€κΈ° (level2, python) (0) | 2022.09.08 |
[νλ‘κ·Έλλ¨Έμ€] μ΅λκ°κ³Ό μ΅μκ° (level2, python) (0) | 2022.09.08 |