[C언어 코드업 문제풀이] CodeUp 1180 : 만능 휴지통
ET의 공부/C언어 연습문제[ 코드업 ]2020. 1. 3. 23:06
코드업 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을 빼줍니다.
'ET의 공부 > C언어 연습문제[ 코드업 ]' 카테고리의 다른 글
[C언어 코드업 문제풀이] CodeUp 1202 : 등급 판정 (0) | 2020.01.03 |
---|---|
[C언어 코드업 문제풀이] CodeUp 1201 : 정수 판별 (0) | 2020.01.03 |
[C언어 코드업 문제풀이] CodeUp 1173 : 30분전 (0) | 2020.01.03 |
[C언어 코드업 문제풀이] CodeUp 1172 : 세 수 정렬하기 (0) | 2020.01.03 |
[C언어 코드업 문제풀이] CodeUp 1171 : 당신의 학번은? 2 (0) | 2020.01.03 |
댓글()