[구름] 의좋은 형제

JOY·2022년 3월 18일
0

[CodingTest] Java

목록 보기
6/61
post-thumbnail

🙂 문제

https://level.goorm.io/exam/49088/%EC%9D%98%EC%A2%8B%EC%9D%80-%ED%98%95%EC%A0%9C/quiz/1

문제 요약
첫째날, 진우가 선우에게 자신이 가지고 있는 식량의 절반을 준다.
둘째날, 선우가 진우에게 자신이 가지고 있는 식량의 절반을 준다.
가지고 있는 식량이 홀수라 반으로 나눌 수 없으면 그 식량을 통째로 준다.

이후 D번째 날 진우와 선우는 식량을 얼마나 가지고 있을까?

😀 풀이

#include <stdio.h>
void main(){
	
	int jw, sw;
	int day;
	
	scanf("%d %d", &jw, &sw);
	scanf("%d", &day);
	
	for(int i=1; i<=day; i++){
		if(i%2!=0){
			if(jw%2==0){
				jw = jw/2;
				sw = sw+jw;
			}else{
				jw = jw/2;
				sw = sw + (jw+1);
			}			
		}
		else{
			if(sw%2==0){
				sw = sw/2;
				jw = jw+sw;
			}else{
				sw = sw/2;
				jw = jw + (sw+1);
			}	
		}
	}
		
	printf("%d %d", jw, sw);
}

🙏 정리

홀수날 일때는 진우가 선우에게
짝수날 일때는 선우가 진우에게
식량을 주고 반으로 딱 떨어지진 않을때 더 많은 쪽을 상대방에게 주는 쪽으로 풀이했다.

각자가 반을 나눠 담은 식량주머니 변수를 만들어 전달할 지 고민하다
각자의 식량 변수 두개로만 값을 전달하고 싶어 만들어보았다..
뭔가 더 깔끔한 코드가 있지 않을까 생각해보는데 연산자를 다르게 사용해봐야하나..

profile
Just Do IT ------- 🏃‍♀️

0개의 댓글

관련 채용 정보