[SWEA] 14178. 1차원 정원

야금야금 공부·2023년 5월 20일
0

SWEA

목록 보기
41/43

14178. 1차원 정원


문제 풀이

만약 n=5,d=1n = 5, d = 1이라면, x좌표에 분무기를 놓았을 때 [x1,x+1][x-1, x+1]인 총 3개의 꽃들에게 물을 줄 수있다. 그리고 남은 꽃들은 2개가 된다.
따라서 1개의 분무기로 2*d + 1개의 꽃들에게 물을 줄 수 있고, 물을 줄 수 있는 분무기의 개수는 n // (2*d + 1) 이다.
그리고 남은 꽃들이 있다면 +1을 해준다.

t = int(input())

for i in range(1, t + 1):
    n, d = map(int, input().split())
    # [x - d, x + d]

    cnt = 0
    while n >= d:
        cnt += 1
        n -= (2 * d + 1)

    if n > 0:  # 만약 n이 아직 남아있다면 cnt + 1
        cnt += 1
    print(f"#{i} {cnt}")

문제 풀이2

  • 몫과 나머지를 이용
t = int(input())

for i in range(1, t + 1):
    n, d = map(int, input().split())
  
    cnt = n // (2 * d + 1)

    if n % (2 * d + 1) > 0:
        cnt += 1

    print(f"#{i} {cnt}")

0개의 댓글