본문 바로가기
코드업(codeup)/C

[코드업(codeup)/C]코드업(codeup) 2048 : 2048게임 1 C언어

by starfish22 2022. 1. 15.
728x90

▶문제 : 2048게임 1 (codeup.kr)

 

2048게임 1

4*4의 판을 구성하는 정수 n이 입력된다. ( n의 2 ~ 2048 사이의 2의 제곱수, 예: 2, 4, 8, 16, 32, ... , 2048)

codeup.kr

 

▶코드 작성

#include <stdio.h>

int main()
{
    int n, sum = 0;
    for (int i = 0; i < 16; i++) {//모든 수의 합
        scanf("%d", &n);
        sum += n;
    }

    n = 1;
    for (int i = 0; i < 12; i++)
    {
        n *= 2;//2의 배수
        if (sum == n)//모든 수의 합이 2의 배수일 때
        {
            printf("yes");
            return 1;
        }
    }

    printf("no");
    return 0;
}

 

▶해석

입력받는 대로 sum변수에 합하여 반복문으로 n을 2의 배수로 최대 2048까지 올라가게 한 뒤 if문으로 sum값이 2의 배수인지 확인한다. 2의 배수이면 하나로 통일된 것이므로 yes를 출력하고 아니면 no를 출력한다.

728x90

댓글