알고리즘 공부/CodeUp 문제풀이

코드업 1180:만능 휴지통(C)

티들 2023. 9. 19. 23:01

문제 설명
민호는 발명을 되게 좋아하고, 컴퓨터 프로그램도 되게 좋아한다.

어느 날 민호는 컴퓨터를 사용하던 중 휴지통이 꽉 차서 불편을 느꼈다.

그래서 휴지통이 n만큼 차면 알아서 쓰레기를 압축해주는 휴지통을 만들려고 한다.

이 때 압축하는 알고리즘은 다음과 같다.

10의 자릿수와 1의 자릿수를 서로 바꾸고, 거기에 2를 곱한다.

예) 70일 경우 14가 된다.( 70 -> 07 -> 14 )

이 알고리즘은 때로는 부작용을 일으켜 휴지통의 내용이 더 많아 질지도 모른다.

만약 이 알고리즘의 심각한 부작용으로 수치가 100이 넘는다면 100의 자릿수는 무시된다.

입력

휴지통의 자동 압축 기준인 수치 n이 입력된다. ( 1 <= n <= 99 )

 

출력

첫째 줄에 휴지통을 압축했을 때 양을 출력한다.

둘째 줄에 그 양이 50이하이면 GOOD 을 출력하고, 50을 넘으면 OH MY GOD 을 출력한다.

입력 예시

90

 

출력 예시

18
GOOD

 

나의 코드

#include <stdio.h>

int main()
{
    int a, b, c;
    scanf("%d", &a);
    b = a/10;	// X0을 X로 변경
    c = (a%10) * 10;	// 첫번째 자리수 변경

    a = b + c;	// 계산
    a = a * 2;
    if(a>=100) a -= 100;	// 100보다 크면 100감소
    printf("%d\n", a);	// 값 출력

    if(a<=50) printf("GOOD");	// 조건에 따라 출력
    else printf("OH MY GOD");

    return 0;
}

 

모범 답안

#include <stdio.h>
 
int main()
{
    int n, res;
  
    scanf("%d", &n);
    
    res = (n % 10 * 10) + (n / 10);
    res = res * 2;
    res = res % 100;
    printf("%d\n", res);
    
    if (res <= 50)
        printf("GOOD");
    else
        printf("OH MY GOD");
    return 0;
}

 

문제 바로가기 : https://codeup.kr/problem.php?id=1180