๋ฌธ์ œ

https://www.acmicpc.net/problem/1065

์„ค๋ช…

๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ๋งŒ ์žˆ๋‹ค๋ฉด ํ‘ธ๋Š”๋ฐ๋Š” ์‹œ๊ฐ„์ด ์–ผ๋งˆ ๊ฑธ๋ฆฌ์ง€ ์•Š๋Š” ๋ฌธ์ œ์˜€์œผ๋‚˜ ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ ธ๋‹ค. ๋จผ์ € ์ดํ•ดํ•œ๋ฐ๋กœ ๋‹ค์‹œ ์„ค๋ช…ํ•˜๋ฉด ๋จผ์ € 1~9 ๊นŒ์ง€์˜ ์ˆ˜๋Š” ์ˆ˜์—ด์˜ ๊ธธ์ด๊ฐ€ 1 ์ธ ์ˆ˜์—ด๋กœ ๋ชจ๋‘ ๋“ฑ์ฐจ์ˆ˜์—ด๋กœ ์ทจ๊ธ‰ํ•˜๋Š”๊ฒŒ ๊ฐ€๋Šฅํ–ˆ๊ณ , ๋‘์ž๋ฆฌ์ˆ˜. ์ฆ‰ 10~99 ๋Š” ์ˆ˜์—ด์˜ ๊ธธ์ด๊ฐ€ 2 ์ธ ์ˆ˜์—ด๋กœ ์ด ๋˜ํ•œ ๋ชจ๋‘ ๋“ฑ์ฐจ ์ˆ˜์—ด๋กœ ์ทจ๊ธ‰ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ–ˆ๋‹ค. 3 ์ž๋ฆฌ ์ˆ˜(100~999)๋Š” ์ˆ˜์—ด์˜ ๊ธธ์ด๊ฐ€ 3 ์œผ๋กœ ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ๋Š” 3 ๊ฐœ ๊ฐ„์˜ ์ˆ˜์˜ ๋“ฑ์ฐจ๊ฐ€ ๋™์ผํ•ด์•ผ ๋“ฑ์ฐจ์ˆ˜์—ด์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด๋ฅผ ํŒ๋‹จํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๋†“๋„๋ก ํ”„๋กœ๊ทธ๋žจ์„ ์งœ์•ผ ํ–ˆ๋‹ค. ๋จผ์ € ์ž…๋ ฅ๋œ ์ˆ˜(1000 ์ดํ•˜์˜ ์ˆ˜)๊ฐ€ 100 ์ด์ƒ, ์ฆ‰ ์„ธ์ž๋ฆฌ์ˆ˜ ๋ผ๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ์นด์šดํŒ…์„ ์‹œ์ž‘ํ•˜๊ธฐ์ „์— ํ•œ์ž๋ฆฌ์ˆ˜์™€ ๋‘์ž๋ฆฌ์ˆ˜๋Š” ๋ชจ๋‘ ํ•œ์ˆ˜์— ํฌํ•จํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ธฐ๋ณธ 99 ๊ฐœ ๋ถ€ํ„ฐ ์นด์šดํŒ…์„ ์‹œ์ž‘ํ•˜๋„๋ก ํ•˜๊ณ , ๋‘์ž๋ฆฌ ์ˆ˜ ๋ผ๋ฉด ์ž…๋ ฅ๋œ ์ˆ˜๊ฐ€ ๊ณง ํ•œ์ˆ˜์˜ ๊ฐฏ์ˆ˜์ด๋ฏ€๋กœ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋„๋ก ํ•œ๋‹ค. ์„ธ์ž๋ฆฌ ์ˆ˜ ์ผ๋•Œ while๋ฌธ์„ ์ด์šฉํ•ด ํ•˜๋‚˜ํ•˜๋‚˜ ํ•œ์ˆ˜์˜ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜๋„๋ก ํ•˜๋ฉฐ, ๋งŒ์•ฝ 3 ์ˆซ์ž์˜ ๊ฐ„๊ฒฉ์ด ๋™์ผํ•˜๋‹ค๋ฉด ๊ฒฐ๊ณผ ๊ฐ’์— +1 ์„ ํ•˜์—ฌ ์นด์šดํŒ… ํ•˜๋„๋กํ•˜๊ณ  ์ตœ์ข…์ ์œผ๋กœ ์ถœ๋ ฅ๋ฌธ์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๋†“๋„๋ก ํ•œ๋‹ค. ๋˜ ์˜ˆ์™ธ์ ์œผ๋กœ ๋„ค์ž๋ฆฌ์ˆ˜๋Š” 1000 ํ•˜๋‚˜๊ฐ€ ์ž…๋ ฅ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๊ณ , 1000 ์— ๊ฒฝ์šฐ ๋ณ„๋„์˜ ์ž‘์—…์„ ์•ˆํ•ด์ฃผ๋ฉด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์„ ์ˆ˜ ์žˆ์–ด ์นด์šดํŒ…ํ•˜๋‹ค๊ฐ€ 1000 ์ด ๋˜๋ฉด ๊ทธ๋ƒฅ while๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ€๋„๋ก ํ•˜์˜€๋‹ค.

์ฝ”๋“œ

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	int n,result=0;
	scanf("%d", &n);
	if (n >= 100)
	{
		result += 99;
		int i = 100;
		while (i<=n)
		{
			if (i == 1000)
				break;
			else
			{
				int num[3];
				num[0] = i / 100;
				num[1] = ((i % 100) - (i % 10))/10;
				num[2] = i % 10;
				if ((num[1] - num[0]) == (num[2] - num[1]))
					result++;
				i++;
			}
		}
	}
	else
		result = n;
	printf("%d", result);
	return 0;
}