[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์˜ˆ์ƒ ๋Œ€์ง„ํ‘œ / ํŒŒ์ด์ฌ / Python / round()
Algorithm/Programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์˜ˆ์ƒ ๋Œ€์ง„ํ‘œ / ํŒŒ์ด์ฌ / Python / round()

728x90
๋ฐ˜์‘ํ˜•

๐Ÿ’กsolutions )

๐Ÿ’ฌ ํŒŒ์ด์ฌ์˜ ๋ฐ˜์˜ฌ๋ฆผ round( ) ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ทธ ๋‹ค์Œ ๋ผ์šด๋“œ ์ง„์ถœ ์‹œ ๋ถ€์—ฌ๋ฐ›๋Š” ์ˆซ์ž ๋ฒˆํ˜ธ๋ฅผ ๊ตฌํ•ด๋‚ด๋Š” ๋กœ์ง.

๐Ÿ’ฌ ์ด๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๋ฐ˜์˜ฌ๋ฆผํ•œ ์ž๋ฆฌ์˜ ์•ž์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ์ง์ˆ˜์ด๋ƒ ํ™€์ˆ˜์ด๋ƒ์— ๋”ฐ๋ผ ๋ฐ˜์˜ฌ๋ฆผํ•œ ๊ฐ’์ด ๋‹ฌ๋ผ์ง„๋‹ค๋Š” ์ ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์•ž์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ์ง์ˆ˜์ธ ๊ฒฝ์šฐ๋Š” ๋ฐ˜์˜ฌ๋ฆผํ•œ ๊ฐ’์— +1์”ฉ ๋”ํ•ด์ค€๋‹ค.

๐Ÿ’ฌ ์•„๋ž˜ ํŒŒ์ด์ฌ์˜ ๋ฐ˜์˜ฌ๋ฆผ ๊ทœ์น™์„ ์ฐธ๊ณ ํ•˜์ž.

๐Ÿ”ถ ํŒŒ์ด์ฌ์˜ round()ํ•จ์ˆ˜๋Š” ์‚ฌ์‚ฌ์˜ค์ž… ์›์น™์„ ๋”ฐ๋ฅธ๋‹ค.

๋ฐ˜์˜ฌ๋ฆผ ์ž๋ฆฌ์˜ ์ˆ˜๊ฐ€ 5์ผ ๋•Œ
์•ž์ž๋ฆฌ๊ฐ€ ์ง์ˆ˜ -> ๋‚ด๋ฆผ -> e.g.) round(4.5) = 4
์•ž์ž๋ฆฌ๊ฐ€ ํ™€์ˆ˜ -> ์˜ฌ๋ฆผ -> e.g.) round(3.5) = 4


 

๐ŸŽซcode )

def solution(n, a, b):
    answer = 0

    while a != b:
        answer += 1
        r_a, r_b = round(a / 2), round(b / 2)
        if r_a < (a / 2): # ๋ฐ˜์˜ฌ๋ฆผํ•œ ์ž๋ฆฌ์˜ ์•ž์ž๋ฆฌ๊ฐ€ ์ง์ˆ˜์ธ ๊ฒฝ์šฐ
            a = r_a + 1
        else:
            a = r_a
        if r_b < (b / 2): # ๋ฐ˜์˜ฌ๋ฆผํ•œ ์ž๋ฆฌ์˜ ์•ž์ž๋ฆฌ๊ฐ€ ์ง์ˆ˜์ธ ๊ฒฝ์šฐ
            b = r_b + 1
        else:
            b = r_b
    return answer

 

๐Ÿ“Œ description )

๋ฌธ์ œ์ถœ์ฒ˜ : programmers.co.kr/learn/courses/30/lessons/12985?language=python3

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์˜ˆ์ƒ ๋Œ€์ง„ํ‘œ

โ–ณโ–ณ ๊ฒŒ์ž„๋Œ€ํšŒ๊ฐ€ ๊ฐœ์ตœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋Œ€ํšŒ๋Š” N๋ช…์ด ์ฐธ๊ฐ€ํ•˜๊ณ , ํ† ๋„ˆ๋จผํŠธ ํ˜•์‹์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. N๋ช…์˜ ์ฐธ๊ฐ€์ž๋Š” ๊ฐ๊ฐ 1๋ถ€ํ„ฐ N๋ฒˆ์„ ์ฐจ๋ก€๋Œ€๋กœ ๋ฐฐ์ •๋ฐ›์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , 1๋ฒˆ↔2๋ฒˆ, 3๋ฒˆ↔4๋ฒˆ, ... , N-1๋ฒˆ↔N๏ฟฝ

programmers.co.kr

๋ฌธ์ œ ์„ค๋ช…

โ–ณโ–ณ ๊ฒŒ์ž„๋Œ€ํšŒ๊ฐ€ ๊ฐœ์ตœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋Œ€ํšŒ๋Š” N๋ช…์ด ์ฐธ๊ฐ€ํ•˜๊ณ , ํ† ๋„ˆ๋จผํŠธ ํ˜•์‹์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. N๋ช…์˜ ์ฐธ๊ฐ€์ž๋Š” ๊ฐ๊ฐ 1๋ถ€ํ„ฐ N๋ฒˆ์„ ์ฐจ๋ก€๋Œ€๋กœ ๋ฐฐ์ •๋ฐ›์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , 1๋ฒˆ↔2๋ฒˆ, 3๋ฒˆ↔4๋ฒˆ, ... , N-1๋ฒˆ↔N๋ฒˆ์˜ ์ฐธ๊ฐ€์ž๋ผ๋ฆฌ ๊ฒŒ์ž„์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๊ฒŒ์ž„์—์„œ ์ด๊ธด ์‚ฌ๋žŒ์€ ๋‹ค์Œ ๋ผ์šด๋“œ์— ์ง„์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ๋‹ค์Œ ๋ผ์šด๋“œ์— ์ง„์ถœํ•  ์ฐธ๊ฐ€์ž์˜ ๋ฒˆํ˜ธ๋Š” ๋‹ค์‹œ 1๋ฒˆ๋ถ€ํ„ฐ N/2๋ฒˆ์„ ์ฐจ๋ก€๋Œ€๋กœ ๋ฐฐ์ •๋ฐ›์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ 1๋ฒˆ↔2๋ฒˆ ๋ผ๋ฆฌ ๊ฒจ๋ฃจ๋Š” ๊ฒŒ์ž„์—์„œ 2๋ฒˆ์ด ์Šน๋ฆฌํ–ˆ๋‹ค๋ฉด ๋‹ค์Œ ๋ผ์šด๋“œ์—์„œ 1๋ฒˆ์„ ๋ถ€์—ฌ๋ฐ›๊ณ , 3๋ฒˆ↔4๋ฒˆ์—์„œ ๊ฒจ๋ฃจ๋Š” ๊ฒŒ์ž„์—์„œ 3๋ฒˆ์ด ์Šน๋ฆฌํ–ˆ๋‹ค๋ฉด ๋‹ค์Œ ๋ผ์šด๋“œ์—์„œ 2๋ฒˆ์„ ๋ถ€์—ฌ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ž„์€ ์ตœ์ข… ํ•œ ๋ช…์ด ๋‚จ์„ ๋•Œ๊นŒ์ง€ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

์ด๋•Œ, ์ฒ˜์Œ ๋ผ์šด๋“œ์—์„œ A๋ฒˆ์„ ๊ฐ€์ง„ ์ฐธ๊ฐ€์ž๋Š” ๊ฒฝ์Ÿ์ž๋กœ ์ƒ๊ฐํ•˜๋Š” B๋ฒˆ ์ฐธ๊ฐ€์ž์™€ ๋ช‡ ๋ฒˆ์งธ ๋ผ์šด๋“œ์—์„œ ๋งŒ๋‚˜๋Š”์ง€ ๊ถ๊ธˆํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ž„ ์ฐธ๊ฐ€์ž ์ˆ˜ N, ์ฐธ๊ฐ€์ž ๋ฒˆํ˜ธ A, ๊ฒฝ์Ÿ์ž ๋ฒˆํ˜ธ B๊ฐ€ ํ•จ์ˆ˜ solution์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ฒ˜์Œ ๋ผ์šด๋“œ์—์„œ A๋ฒˆ์„ ๊ฐ€์ง„ ์ฐธ๊ฐ€์ž๋Š” ๊ฒฝ์Ÿ์ž๋กœ ์ƒ๊ฐํ•˜๋Š” B๋ฒˆ ์ฐธ๊ฐ€์ž์™€ ๋ช‡ ๋ฒˆ์งธ ๋ผ์šด๋“œ์—์„œ ๋งŒ๋‚˜๋Š”์ง€ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”. ๋‹จ, A๋ฒˆ ์ฐธ๊ฐ€์ž์™€ B๋ฒˆ ์ฐธ๊ฐ€์ž๋Š” ์„œ๋กœ ๋ถ™๊ฒŒ ๋˜๊ธฐ ์ „๊นŒ์ง€ ํ•ญ์ƒ ์ด๊ธด๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ œํ•œ์‚ฌํ•ญ

  • N : 21 ์ด์ƒ 220 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜ (2์˜ ์ง€์ˆ˜ ์Šน์œผ๋กœ ์ฃผ์–ด์ง€๋ฏ€๋กœ ๋ถ€์ „์Šน์€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)
  • A, B : N ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜ (๋‹จ, A ≠ B ์ž…๋‹ˆ๋‹ค.)

์ž…์ถœ๋ ฅ ์˜ˆ



์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…
์ฒซ ๋ฒˆ์งธ ๋ผ์šด๋“œ์—์„œ 4๋ฒˆ ์ฐธ๊ฐ€์ž๋Š” 3๋ฒˆ ์ฐธ๊ฐ€์ž์™€ ๋ถ™๊ฒŒ ๋˜๊ณ , 7๋ฒˆ ์ฐธ๊ฐ€์ž๋Š” 8๋ฒˆ ์ฐธ๊ฐ€์ž์™€ ๋ถ™๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ•ญ์ƒ ์ด๊ธด๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์œผ๋ฏ€๋กœ 4๋ฒˆ ์ฐธ๊ฐ€์ž๋Š” ๋‹ค์Œ ๋ผ์šด๋“œ์—์„œ 2๋ฒˆ์ด ๋˜๊ณ , 7๋ฒˆ ์ฐธ๊ฐ€์ž๋Š” 4๋ฒˆ์ด ๋ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ๋ผ์šด๋“œ์—์„œ 2๋ฒˆ์€ 1๋ฒˆ๊ณผ ๋ถ™๊ฒŒ ๋˜๊ณ , 4๋ฒˆ์€ 3๋ฒˆ๊ณผ ๋ถ™๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ•ญ์ƒ ์ด๊ธด๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์œผ๋ฏ€๋กœ 2๋ฒˆ์€ ๋‹ค์Œ ๋ผ์šด๋“œ์—์„œ 1๋ฒˆ์ด ๋˜๊ณ , 4๋ฒˆ์€ 2๋ฒˆ์ด ๋ฉ๋‹ˆ๋‹ค. ์„ธ ๋ฒˆ์งธ ๋ผ์šด๋“œ์—์„œ 1๋ฒˆ๊ณผ 2๋ฒˆ์œผ๋กœ ๋‘ ์ฐธ๊ฐ€์ž๊ฐ€ ๋ถ™๊ฒŒ ๋˜๋ฏ€๋กœ 3์„ return ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

 

๋ฐ˜์‘ํ˜•