๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Algorithm/BOJ

[๊ธฐ์ดˆ] 08. ๊ธฐ๋ณธ ์ˆ˜ํ•™ 1 (์ž‘์„ฑ ไธญ)

 

๐Ÿ“ช [๊ธฐ๋ณธ์ˆ˜ํ•™1]

 

๊ธฐ๋ณธ ์ˆ˜ํ•™ 1 ๋‹จ๊ณ„

ํŒŒ์ด์ฌ ๊ฐ™์€ ์–ธ์–ด๋Š” 10,000์ž๋ฆฌ ์ •๋„์˜ ์ž์—ฐ์ˆ˜๋„ ์ž์œ ๋กญ๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ C/C++์ด๋ผ๋ฉด ์ด ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ’€๊นŒ์š”? C/C++ ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ๊ณ ๋ฏผํ•ด ๋ณด๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

www.acmicpc.net

 


 

 

๐Ÿ“Œ ๋ฌธ์ œ1. ์†์ต๋ถ„๊ธฐ์  [1712๋ฒˆ]

โœ”๏ธ a + b*X < c*X๊ฐ€ ๋˜๊ฒŒ ํ•˜๋Š” ์ตœ์†Œ X๋ฅผ ๊ตฌํ•˜๋ฉด ๋จ. '(C-B)X>A'

[ํ’€์ด 1]

# [ํ’€์ด 1] ๋‹ต์€ ์ผ์น˜ํ•˜์ง€๋งŒ ์‹œ๊ฐ„์ด ์ดˆ๊ณผ๋จ.

a, b, c = map(int, input().split())

if c - b <= 0:
    print(-1)
else:
    i = 1
    while True:
        if i > a//(c - b): break
        else : i+=1

print(i)

[ํ’€์ด 2]

# [ํ’€์ด 2] ์‹œ๊ฐ„ ์ œํ•œ ํ†ต๊ณผ.

a, b, c = map(int, input().split())

if c - b <= 0:
    print(-1)
else : print(a // (c - b) + 1)

→ ์ตœ์†Œ X๋ฅผ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ƒ๊ฐ์— while๋ฌธ์„ ํ†ตํ•ด ๊ตฌํ•˜๋ ค๊ณ  ํŒ๋‹จ. 

→ 'a / (c - b)'๊ฐ€ ๋”ฑ ๋–จ์–ด์ ธ๋„ ์†์ต๋ถ„๊ธฐ์ ์„ ์œ„ํ•ด์„  ํ•˜๋‚˜ ๋” ํŒ”์•„์•ผ ํ•˜๊ณ , ์•„๋‹ˆ์–ด๋„ +1๊ฐœ์ด๋ฏ€๋กœ

   'a // (c - b) + 1'์„ printํ•˜๋ฉด ๋œ๋‹ค.

 

 

 

 

๐Ÿ“Œ ๋ฌธ์ œ2. ๋ฒŒ์ง‘[2292๋ฒˆ]  ๐ŸŒŸ๋‹ค์‹œ๋ณด๊ธฐ๐ŸŒŸ

โœ”๏ธ 1(1), 7(2), 19(3), 37(4), 61(5) -> ๊ณ„์ฐจ์ˆ˜์—ด (์ ํ™”์‹) : An+1 = An + 6*n (A0 = 1)

num = int(input())
X = 1
room = 1

while X < num:
    X = X + 6*room
    room +=1

print(room)

 

 

 

 

๐Ÿ“Œ ๋ฌธ์ œ3

 

 

 

 

 

 

 


 

๐Ÿ”” ์ค‘์š”๊ฐœ๋…์ •๋ฆฌ

  1. ๊ฐœ๋…
    : ๋‚ด์šฉ 

 

 

 

728x90