Hiya_
개발자취🌱
Hiya_
Github
전체 방문자
오늘
어제
  • 분류 전체보기 (155)
    • 💻Backend (1)
      • 라이징캠프 (6)
      • SSAFY | 싸피 (2)
      • 신한DS 금융SW 아카데미 (2)
    • 📁문제 풀이 (102)
      • 🧩Baekjoon (47)
      • 🧩Programmers (42)
      • 🧩SWExpertAcademy (10)
      • 🧩Softeer (3)
    • 📂Language (31)
      • Python (3)
      • JAVA (2)
      • SQL (6)
      • English (19)
    • ✨Useful information (5)
    • 🔑Algorithms (3)
    • 🐙Git (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Union
  • 토익기출
  • 토익점수
  • 토익시험
  • 내장함수
  • 토익무료자료
  • 토익독학
  • Python
  • 해커스파랭이
  • 오블완
  • 정렬
  • 다익스트라
  • 완전탐색
  • mysql
  • 백준
  • sort
  • 리스트
  • 구현
  • 코테
  • greedy algorithm
  • UNION ALL
  • 2차원 배열
  • 해커스토익
  • 토익무료강의
  • BFS
  • 티스토리챌린지
  • 그리디
  • 토익RC
  • 토익공부
  • BaekJoon

최근 댓글

최근 글

티스토리


Owner : 김신영
Naver Blog

hELLO · Designed By 정상우.
Hiya_

개발자취🌱

카테고리 없음

[Java] 백준 1629 곱셈 - 분할 정복

2024. 10. 21. 19:12

 

~목차~

문제

문제 해결 포인트

작성 코드


 

문제

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

 

 

 

 

문제 해결 과정

- 단순히 a를 b번 곱하게 된다면 시간 복잡도 O(b) (시간 초과)

- a^b = (a^(b/2))^2  사용하면 해결 가능! (^ : 제곱) 

 

 

작성 코드

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

public class BJ_1629_곱셈 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        StringBuilder sb = new StringBuilder();

        long a = Integer.parseInt(st.nextToken());
        long b = Integer.parseInt(st.nextToken());
        long c = Integer.parseInt(st.nextToken());

        // 분할 정복
        System.out.println(pow(a, b, c));

    }

    private static long pow(long a, long b, long c){
        if(b==1){
            return a % c;
        }
        long half = pow(a, b/2, c);
        if(b % 2 == 0){
            return (half*half)%c;
        } else{
            return ((half*half)%c*a)%c;
        }
    }

}

 

 

 

도움이 되셨다면 좋아요 눌러주세요💚

 

 

    Hiya_
    Hiya_
    하얀 천과 바람만 있다면 어디든 갈 수 있어

    티스토리툴바