본문 바로가기
Blog/Education

99클럽 코테 스터디 28일차 TIL + 경우의 수

by 코젼 2024. 4. 21.
728x90
반응형

백준

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

 

1094번: 막대기

지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대

www.acmicpc.net


- 오늘의 학습 키워드 : 경우의 수

- 공부한 내용 본인의 언어로 정리하기

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int X = Integer.parseInt(br.readLine());
    int N = 64;
    int cnt = 0;

    while (true) {
      if (X == 1) {
        cnt++;
        break;
      } else if (X == 0) break;

      if (N > X) { // 길이가 X보다 길 경우 반 자르고 나머지 반 버리기
        N /= 2; // 반 자르기
      } else if (N < X) { // 길이가 X가 더 길 경우
        cnt++;
        X -= N; // 필요한 길이 다시 구하기
        N /= 2; // 반 자르기
      } else { // 동일할 경우
        cnt++;
        break;
      }
    }
    System.out.println(cnt);
  }
}

- 오늘의 회고 : 문제를 구현할 때 경우의 수를 하나씩 더해나가면서 풀이할 수 있었다.


99클럽 1기를 수강하면서 작성한 글입니다.

https://99club.oopy.io/

 

99클럽-1기 모집 중

현직 개발자와 함께하는 코테 스터디

99club.oopy.io

 

728x90
반응형

댓글