본문 바로가기
PS

[BOJ] Python, Ruby 백준 고양이는 많을수록 좋다 (27961)

by 1223v 2025. 2. 11.

https://www.acmicpc.net/problem/27961

 

 

그리디 문제이다. 

횟수를 세는 부분으로 마지막 넘치는 것은 고려하지 않고 풀어도 되는 문제이다.

 

Python

import sys
input = sys.stdin.readline

N = int(input())
magic = 0
cat = 0

while N > cat:
    if cat == 0:
        cat += 1
    else:
        cat *= 2

    magic += 1

print(magic)

 

Ruby

N = gets.to_i

cat = 0
magic = 0

while N > cat
	if cat == 0:
    	cat += 1
    else
    	cat *= 2
    end
end

puts magic

 

회고.

단순한 그리디 문제인데 마지막에 어떤식으로 딱 맞출 수 있을지 너무 고민 했던것 같다.. 탐색 외에도 그리디 알고리즘을 더욱 공부해야 겠담.

댓글