백준 1436 c++

magicdrill·2024년 2월 28일

백준 문제풀이

목록 보기
55/673

백준 1436 c++

#include <iostream>

#pragma warning(disable:4996)

using namespace std;

int input(int lower, int upper);
int find_num(int N);
void int_to_char_string(int num, char* str);

int main(void)
{
	int N;
	N = input(1, 10000);
	cout << find_num(N) << endl;

	return 0;
}

int input(int lower, int upper)
{
	int A;

	while (1)
	{
		cin >> A;
		if (A >= lower && A <= upper)
		{
			break;
		}
		else
		{
			;
		}
	}

	return A;
}

int find_num(int N)
{
	char num_str[30];
	int i;
	int count = 0;
	int num = 1;

	while (1)
	{
		int_to_char_string(num, num_str);
		for (i = 0; i < 30 - 4; i++)
		{
			if (num_str[i] == '6' && num_str[i + 1] == '6' && num_str[i + 2] == '6')
			{
				count++;
				break;
			}
			else
			{
				;
			}
		}
		if (count == N)
		{
			break;
		}
		else
		{
			num++;
		}
	}

	return num;
}

void int_to_char_string(int num, char* str)
{
	//sprintf_s(str, 30*sizeof(char), "%d", num);
	sprintf(str, "%d", num);

	return;
}

0개의 댓글