


위 문제를 파악하면 패턴이 보인다. 진우가 첫날에 선우에게 자신의 반을 주는 것 다음날 선우가 반주는 거 이렇게 서로 주고받고를 반복하게 된다. 그리고 반을 나누었을 때 홀수가 나올 경우, 그 식량을 통째로 넘겨준다... 이 말이 살짝 혼동스럽지만 코드로 표현하면 생각보다 간단한 거였다.
import java.io.*;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws Exception {
Scanner sc=new Scanner(System.in);
int jw=sc.nextInt();
int sw=sc.nextInt();
int day=sc.nextInt();
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;
}
}
}
System.out.println(jw+" "+sw);
}
}

처음 해본 코딩 문제였는데 코드 짜는 건 생각보다 할만한 것 같은데 문제를 파악하는 게 너무 힘든 거 같다. 내가 국어를 못해서 그런 것도 있는 거 같다... 많은 문제를 풀어 문제 파악 능력을 길러야 할 것 같다.
'코테연습' 카테고리의 다른 글
| 백준 15650번 15652번 N과 M(2) N과 M(4) 문제 (0) | 2022.08.31 |
|---|---|
| 백준 1629번 곱셈 문제 (0) | 2022.08.31 |
| 백준 11053 가장 긴 증가하는 부분 수열 (0) | 2022.08.31 |
| 백준 16953문제 A->B (0) | 2022.08.30 |
| 백준 문제 2407번 조합 문제 (0) | 2022.08.30 |
댓글