백준 링크 : https://www.acmicpc.net/problem/2869

문제 개요

하루마다 A만큼 올라가고, B만큼 떨어지는 달팽이가 목표높이(V)에 도달하기 까지 며칠 걸리는 지 구하는 문제이다.

아이디어


주의사항


코드


// 아래의 코드는 dev c++환경에서 동작됩니다.
// visual studio에서는 bit/stdc++.h가 기본적으로 없기 때문에
// 정삭적인 작동이 되지 않을 수 있습니다.
#include <bits/stdc++.h>
using namespace std;

int a, b, v, ret;

int main()
{
  ios::sync_with_stdio(NULL); cin.tie(NULL); cout.tie(NULL);
	cin >> a >> b >> v;
	
	if((v - a) % (a - b) == 0)
	{
		cout << (v - a) / (a - b) + 1;
	}
	else
	{
		cout << (v - a) / (a - b) + 2;
	}
	
  return 0;
}

후기


난이도에 비해 정답률이 상당히 낮다. 아마도 많은 사람들이 나누어 떨어지는 경우에 대한 예외처리를 하지 않았기 때문이라고 짐작된다.

이전에 ACM 호텔도 나머지 연산자, 나누기 연산자를 통해 푸는 문제가 있었는데, 이 역시 난이도에 비해 정답률이 낮았다. 생각보다 많은 사람들이 나누어 떨어지는 경우의 예외케이스를 생각하지 않다는 것을 알 수 있었고, 나 역시 앞으로 이에 대해 주의해야겠다.