티스토리 뷰

문제

FizzBuzz 문제는 𝑖=1,2,⋯ 에 대해 다음 규칙에 따라 문자열을 한 줄에 하나씩 출력하는 문제입니다.

  •  𝑖 3의 배수이면서 5의 배수이면 “FizzBuzz”를 출력합니다.
  •  𝑖 3의 배수이지만 5의 배수가 아니면 “Fizz”를 출력합니다.
  •  𝑖 3의 배수가 아니지만 5의 배수이면 “Buzz”를 출력합니다.
  •  𝑖 3의 배수도 아니고 5의 배수도 아닌 경우 𝑖를 그대로 출력합니다.

FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이 주어집니다. 이때, 이 세 문자열 다음에 올 문자열은 무엇일까요?

입력

FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이 한 줄에 하나씩 주어집니다. 각 문자열의 길이는 8 이하입니다. 입력이 항상 FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열에 대응됨이 보장됩니다.

출력

연속으로 출력된 세 개의 문자열 다음에 올 문자열을 출력하세요. 여러 문자열이 올 수 있는 경우, 아무거나 하나 출력하세요.

 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char arr1[10];
char arr2[10];
char arr3[10];
int ans;

int checkFizBuz(char* arr){
    if(strcmp(arr,"Fizz") == 0){
        return 0;
    }else if(strcmp(arr,"Buzz") == 0){
        return 0;
    }else if(strcmp(arr,"FizzBuzz") == 0){
        return 0;
    }else{
        return 1;
    }
}

int main() {
    scanf("%s %s %s",arr1,arr2,arr3);
    if(checkFizBuz(arr1) == 1){
      ans = atoi(arr1);
      ans += 3;
      if((ans % 3 == 0)&& (ans % 5 == 0)){
        printf("FizzBuzz");
      }else if(ans %3 ==0){
        printf("Fizz");
      }else if(ans %5 == 0){
        printf("Buzz");
      }else{
        printf("%d",ans);
      }
    }else if(checkFizBuz(arr2) == 1){
      ans = atoi(arr2);
      ans += 2;
      if((ans % 3 == 0)&& (ans % 5 == 0)){
        printf("FizzBuzz");
      }else if(ans %3 == 0){
        printf("Fizz");
      }else if(ans %5 == 0){
        printf("Buzz");
      }else{
        printf("%d",ans);
      }
    }else if(checkFizBuz(arr3) == 1){
      ans = atoi(arr3);
      ans += 1;
      if((ans % 3 == 0)&& (ans % 5 == 0)){
        printf("FizzBuzz");
      }else if(ans %3 ==0){
        printf("Fizz");
      }else if(ans %5 == 0){
        printf("Buzz");
      }else{
        printf("%d",ans);
      }
    }
    return 0;
}

 

뭔가 세상에서 제일 멍청하게 푼 것 같긴하다. strcmp랑 atoi써서 풀었다. 최적화 할 부분이 많아 보이는데... 

 

strcmp부분이랑 arr 3개 안 쓰고 풀 수 있을 것 같긴하다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함