본문 바로가기
Blog/Sparta

99클럽 코테 스터디 4일차 TIL + 패턴 분석

by 코젼 2024. 3. 28.
728x90
반응형

백준

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

 

2839번: 설탕 배달

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그

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 N = Integer.parseInt(br.readLine());
    
        if (N == 4 || N == 7) {
          System.out.println(-1);
        } else if (N % 5 == 0) {
          System.out.println(N / 5);
        } else if (N % 5 == 1 || N % 5 == 3) {
          System.out.println((N / 5) + 1);
        } else if (N % 5 == 2 || N % 5 == 4) {
          System.out.println((N / 5) + 2);
        }
      }
    }​
  • 오늘의 회고
    • 문제를 보고 풀이를 짜봤지만 예제의 예상 답안을 맞추지 못함...
      그리디 알고리즘으로 풀려고 했는데 예제 하나씩 계속 틀려서 난관을 겪었다. 
      문제 풀이도 중요하지만 어느정도의 수학적인 지식과 패턴 찾기도 필요하다고 느꼈다.
      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 N = Integer.parseInt(br.readLine());
          int[] basket = {5, 3};
          int total = 0, tmp = N;
      
          for (int i=0; i<basket.length; i++) {
            total += (tmp / basket[i]);
            tmp %= basket[i];
            // 나누어 떨어지는 경우가 있는지 재확인
            // N이 5의 배수거나 3의 배수인 경우
            if (tmp != 0 && N % basket[i] == 0) {
              total = N / basket[i];
              tmp = 0;
              break;
            }
          }
      
          if (tmp == 0) System.out.println(total);
          else System.out.println(-1);
        }
      }
      ​

 


 

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

https://99club.oopy.io/

 

99클럽-1기 모집 중

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

99club.oopy.io

 

728x90
반응형

댓글