백준 1094번: 막대기 (JAVA)

won·2023년 3월 8일
0

알고리즘 문제풀이

목록 보기
21/32

https://www.acmicpc.net/problem/1094

이 문제를 풀긴 풀었는데 풀고나서도 이게 왜 되지?..하고 고민하게 된다.
기록용으로 적어둔다..
이게 왜되지??

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;

public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		int n= Integer.parseInt(br.readLine());

		int sum=64;
		int mystick = 64;
		int count=1;

		while(sum != n) {
			mystick /=2;
			if(sum>n) {
				sum -= mystick;
			}else {
				sum+=mystick;
				count++;
			}
		}
        
		bw.write(String.valueOf(count));
		bw.close();
		br.close();
	}
}

이 문제를 풀면서 동시에 별찍기 문제를 풀었는데 내가 구현 문제에 아주 취약하다는 것을 깨달았다.

profile
뭐라도 하자

0개의 댓글