[C언어 코드업 문제풀이] CodeUp 1180 : 만능 휴지통

코드업 1180번 만능 휴지통 문제 풀이 해답입니다. 

 

1. 문제 설명

 

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

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

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

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

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

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

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

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

 

2. 입력

 

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

 

3. 출력

 

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

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

 

4. 입력 예시

 

90

 

5. 출력 예시

 

18

GOOD

 

6. 문제 풀이

 

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

 

입력받은 n을 10으로 나누면 10의 자리를 10의 나머지를 구하면 1의 자리를 구할 수 있습니다. (a,b라 칭함)

 (b*10 + a) 를 해주면 서로 자릿수가 바뀐 값을 얻을 수 있고 2를 곱하면 압축값을 구할 수 있습니다.

 

 if(num >=100){num = num -100;}  -->  100이 넘는 값은 무시하므로 100이 넘으면 100을 빼줍니다.

댓글()