vidigummy KAU/알고리즘 공부(백준!)

BOJ-1065(한수)_문제 풀이가 아닌 반성

vidi 2020. 7. 7. 18:11
#include <iostream>

using namespace std;

int H(int A, int term)
{
	int tmp = ((A % 100) / 10) - (A % 10);
	if (A < 100 && term == 2000)
		return 1;
	if (term == 2000)//초기세팅
	{
		return H(A / 10, tmp);
	}
	else
	{
		if (A / 100 == 0)//마지막까지 확인하자
		{
			if (tmp== term)
				return 1;
			else
				return 0;
		}
		else// 중간 비교
		{
			if (tmp != term)//중간에 안 맞으면 버린다
				return 0;
			else
			{
				return H(A / 10, tmp);
			}
		}
	}
}

int main()
{
	int input, cnt = 0;
	cin >> input;
	for (int i = 1; i <= input; i++)
	{
		int ans = H(i, 2000);
		if (ans == 1)
			cnt++;
	}
	cout << cnt;
	return 0;
}

 30분동안 결과가 왜 안나오는지, 30분을 왜 재귀가 안되지 하고 잡고 있었다. 그게 그냥 함수 최초 호출 시에 재귀를 호출하지 않고 리턴해서 그런 것인지도 모르고. 정말 바보다. 코드 짜는데 30분이 안 걸렸는데 잡는데 순수 코딩 시간만 1시간이 걸렸다. 코드 좀 제대로 쓰고 제대로 보자 멍청아.

(아, 요즘은 생활코딩을 통하여 웹을 접하려고 노력중이다. 재미 없긴 하다.(그것마저 백준 안 풀리면 보는거다.))

1065.pdf
0.40MB