ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [๋ฐฑ์ค€(BOJ)] 1259๋ฒˆ ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜, C์–ธ์–ด ํ’€์ด
    PS(Problem Solving)/C 2020. 7. 31. 16:53
    ๋ฐ˜์‘ํ˜•

    <ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜>, 1259๋ฒˆ

     

    ๋ฌธ์ œ

    ์–ด๋–ค ๋‹จ์–ด๋ฅผ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฝ์–ด๋„ ๋˜‘๊ฐ™๋‹ค๋ฉด ๊ทธ ๋‹จ์–ด๋ฅผ ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋ผ๊ณ  ํ•œ๋‹ค. 'radar', 'sees'๋Š” ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋‹ค.

    ์ˆ˜๋„ ํŒฐ๋ฆฐ๋“œ๋กฌ์œผ๋กœ ์ทจ๊ธ‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ˆ˜์˜ ์ˆซ์ž๋“ค์„ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฝ์–ด๋„ ๊ฐ™๋‹ค๋ฉด ๊ทธ ์ˆ˜๋Š” ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜๋‹ค. 121, 12421 ๋“ฑ์€ ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜๋‹ค. 123, 1231์€ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฝ์œผ๋ฉด ๋‹ค๋ฅด๋ฏ€๋กœ ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค. ๋˜ํ•œ 10๋„ ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜๊ฐ€ ์•„๋‹Œ๋ฐ, ์•ž์— ๋ฌด์˜๋ฏธํ•œ 0์ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋ฉด 010์ด ๋˜์–ด ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜๋กœ ์ทจ๊ธ‰ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ํŠน๋ณ„ํžˆ ์ด๋ฒˆ ๋ฌธ์ œ์—์„œ๋Š” ๋ฌด์˜๋ฏธํ•œ 0์ด ์•ž์— ์˜ฌ ์ˆ˜ ์—†๋‹ค๊ณ  ํ•˜์ž.

     

    ์ž…๋ ฅ

    ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ฐ ์ค„๋งˆ๋‹ค 1 ์ด์ƒ 99999 ์ดํ•˜์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ž…๋ ฅ์˜ ๋งˆ์ง€๋ง‰ ์ค„์—๋Š” 0์ด ์ฃผ์–ด์ง€๋ฉฐ, ์ด ์ค„์€ ๋ฌธ์ œ์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค.

     

    ์ถœ๋ ฅ

    ๊ฐ ์ค„๋งˆ๋‹ค ์ฃผ์–ด์ง„ ์ˆ˜๊ฐ€ ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜๋ฉด 'yes', ์•„๋‹ˆ๋ฉด 'no'๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

     

    ์˜ˆ์ œ ์ž…๋ ฅ 1 ๋ณต์‚ฌ

    121

    1231

    12421

    0

    ์˜ˆ์ œ ์ถœ๋ ฅ 1 ๋ณต์‚ฌ

    yes

    no

    yes

     

    ํ’€์ด

    ์ด ๋ฌธ์ œ๋Š” ์ „์— ์œค์„ฑ์šฐ ์ €์ž์˜ ์—ดํ˜ˆ Cํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋„์ „ ๋ฌธ์ œ์— ์žˆ๋˜ ํšŒ๋ฌธ ๋ฌธ์ œ์™€ ๊ฑฐ์˜ ๊ฐ™๋‹ค๊ณ  ๋ณด๋ฉด ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‚˜๋Š” While๋ฌธ์„ ๋ฌดํ•œ์œผ๋กœ ๋ฐ˜๋ณตํ•˜๋„๋ก ํ•œ ํ›„ ๋งŒ์•ฝ 0์„ ์ž…๋ ฅํ•œ๋‹ค๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋„๋ก ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  0์„ ์ œ์™ธํ•˜๊ณ  charํ˜•์œผ๋กœ ์ˆ˜๋ฅผ ๋ฌธ์ž์—ด๋กœ ์ž…๋ ฅ๋ฐ›์€ ํ›„ intํ˜•์ธ ๋ฐฐ์—ด arr๋กœ ์˜ฎ๊ธด ํ›„์— ๋ฐฐ์—ด arr์˜ ์‹œ์ž‘๊ณผ ๋์ด ๋‹ค๋ฅด๋ฉด ๋ฌด์กฐ๊ฑด ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— no๋ฅผ ์ถœ๋ ฅํ•˜๋„๋ก ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‹œ์ž‘๊ณผ ๋์˜ ๊ฐ’์ด ๊ฐ™๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ‘1231’์€ ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋˜ else๋ฌธ์—์„œ ์ƒ๊ฐ์„ ๋˜ ํ•ด์•ผ ํ•œ๋‹ค. ๋‚˜๋Š” ๊ทธ๋ž˜์„œ if๋ฌธ์„ ๋˜ ์‚ฌ์šฉํ•ด์„œ ๋ฐฐ์—ด arr์˜ ์‹œ์ž‘ + 1๊ณผ ๋ฐฐ์—ด arr์˜ ๋ – 1์ด ๋‚˜์•„๊ฐˆ์ˆ˜๋ก ๊ฐ™๋‹ค๋ฉด ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜๋ผ๋Š” ์ ์„ ํ†ตํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ–ˆ๋‹ค.

     

    #include <stdio.h>
    
    int main(void)
    {
    	char num[100000];
    	int arr[100000];
    	int len = 0;
    	int n;
    
    	while (1)
    	{
    		scanf("%s", num);
    		
    		while (num[len] != '\0')
    			len++;
    		for (int i = 0; i < len; i++)
    			arr[i] = num[i];
    
    		if (num[0] == '0')
    			break;
    
    		if (len == 1)
    		{
    			printf("yes\n");
    			len = 0;
    		}
    
    		for (int i = 0; i < len / 2; i++)
    		{
    
    			if (arr[i] != arr[len - i - 1])
    			{
    				printf("no\n");
    				len = 0;
    				break;
    			}
    			else
    			{
    				if (arr[i + 1] == arr[len - i - 2])
    				{
    					printf("yes\n");
    					len = 0;
    					break;
    				}
    				else
    				{
    					printf("no\n");
    					len = 0;
    					break;
    				}
    			}
    		}
    	}
    	return 0;
    }
    
    ๋ฐ˜์‘ํ˜•
Designed by Tistory.