๊ฐœ๋ฐœ์ž HOON
๐Ÿ› HOON DEVLog
๊ฐœ๋ฐœ์ž HOON
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ˜Ž ์ „์ฒด ์นดํ…Œ๊ณ ๋ฆฌ (137)
    • ๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„ (7)
    • ๐Ÿฆ” ์ทจ์—…์ค€๋น„ ๊ธฐ๋ก (7)
    • โ˜• ์ž๋ฐ” : JAVA (5)
    • ๐Ÿ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ : PS (80)
    • ๐ŸŒฑ ๋ฐฑ์—”๋“œ : Backend (13)
    • ๐Ÿงช ์ปดํ“จํ„ฐ๊ณผํ•™ : CS (11)
    • ๐Ÿ—‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค : DB (1)
    • ๐Ÿƒ‍โ™‚๏ธ DEVLOG (8)
    • โš™๏ธ Trouble Shooting (5)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • GitHub
  • Resume

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๊ฐœ๋ฐœ์ž HOON

๐Ÿ› HOON DEVLog

๐Ÿ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ : PS

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ด์ง„ ๋ณ€ํ™˜ ๋ฐ˜๋ณตํ•˜๊ธฐ (level2, python)

2022. 9. 8. 15:47

๋ฌธ์ œ ์„ค๋ช…

0๊ณผ 1๋กœ ์ด๋ฃจ์–ด์ง„ ์–ด๋–ค ๋ฌธ์ž์—ด x์— ๋Œ€ํ•œ ์ด์ง„ ๋ณ€ํ™˜์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

 

  1. x์˜ ๋ชจ๋“  0์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  2. 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
    '๐Ÿ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ : PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ (level2, python)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ตœ์†Ÿ๊ฐ’ ๋งŒ๋“ค๊ธฐ (level2, python)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] JadenCase ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ (level2, python)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’ (level2, python)
    ๊ฐœ๋ฐœ์ž HOON
    ๊ฐœ๋ฐœ์ž HOON
    ์ข‹์€ ๋ฐฑ์—”๋“œ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ก์„ ๋ชจ์•˜์Šต๋‹ˆ๋‹ค. # ์ฃผ๋‹ˆ์–ด # ๋ฐฑ์—”๋“œ # ๊ฐœ๋ฐœ์ž

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”