© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

  • 문제
  • 입력
  • 출력
  • 예제
  • 풀이
  • 코드
  • 복잡도
풀이 목록으로 돌아가기

BOJ 8710 - Koszykarz

2024-09-30
BOJ
브론즈 IV
cpp
원본 문제 보기
수학
사칙연산

문제

BOJ 8710 - Koszykarz

현재 키 K, 목표 키 W, 신발 한 켤레당 증가 높이 M이 주어질 때, 목표에 도달하기 위한 최소 신발 수를 구하라.

입력

K, W, M이 주어진다.

출력

필요한 최소 신발 수를 출력한다.

예제

입력출력
180 185 32

풀이

키 차이를 신발 높이로 나누어 올림한다.

  1. 차이 W - K를 구한다
  2. 차이가 0 이하이면 0을 출력한다
  3. 양수이면 ceil(차이 / M)을 출력한다 (정수 올림 나눗셈)

핵심 아이디어: 올림 나눗셈은 k/m + (k%m != 0)으로 구현한다.

코드

#include <iostream>
using namespace std;
 
int main()
{
  int k, w, m;
  cin >> k >> w >> m;
  k = w - k;
  if (k <= 0)
    cout << 0;
  else
  {
    w = k / m;
    if (k % m)
      ++w;
    cout << w;
  }
 
  return 0;
}

복잡도

  • 시간: O(1)
  • 공간: O(1)