(백준/Java) 1009번 : 분산처리

2021. 5. 17. 03:01·CodingTest

난이도: Bronze 3

프로그래밍 언어: Java

문제명: 분산처리

푼일자: 2021년 5월

 

주소: https://www.acmicpc.net/problem/1009

 

문제풀기

우선, 맨 처음 단순하게 이렇게 하면 될 것 같은데? 하고 푼게 아래와 같았습니다.

1
2
3
4
5
6
7
8
9
10
11
12
public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int count = sc.nextInt();
    for(int i = 0; i < count; i++) {
        int a = sc.nextInt();
        int b = sc.nextInt();
        int atOne = (int)Math.pow(a, b) % 10; // 제곱으로 만들어 1의 자리 가져오기
        if(atOne == 0) atOne = 10; // 0은 10으로 치환
        System.out.println(atOne);
    }
    sc.close();
}
Colored by Color Scripter
cs

입출력 예제대로 결과값을 확인하는데... 

알고보니 터무니 없이 큰 값으로 Math.pow 가 제기능을 못한 것이였습니다.

 

다른식으로 접근해야 할 것 같습니다.

여러번 삽질한 결과 다음의 코드가 탄생하였습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int count = sc.nextInt();
    while(count-- != 0) {
        int a = sc.nextInt();
        int b = sc.nextInt();
        int r = a;
 
        for(int i = 2; i <= b; i++) r = (r*a) % 10;
        if(r == 0) r = 10;
 
        System.out.println(r);
    }
    sc.close();
}
Colored by Color Scripter
cs

설명 하자면, a가 3, b가 7이라고 할 때

a와 b를 곱해서 첫번째 자리의 수만 저장해두고 저장된 수에 a 를 b 회 계속 곱해주면 됩니다.

3 x 3 =  21 -> 1 x 3 = 3 -> 3 x 3 = 9 -> 9 x 3 -> 27 ..... 9 x 3 -> 27  ==== 7

이런 규칙이 생성되었습니다.

 

백준 문제에 있는 입출력 예제는 정확하게 출력이 되나 제출을 하면 지속적으로 "틀렸습니다" 라고 결과가 나왔습니다.

후... 도저히 이유는 모르겠으나

r = a 를 r = 1로, for(int i = 2; i <= b; i++) 를 for(int i = 0; i < b; i++) 로 고쳐서 성공 하였습니다.

 

너무 어렵습니다... 두번째 백준 ㅜㅜ

반응형
저작자표시 비영리 (새창열림)
'CodingTest' 카테고리의 다른 글
  • 코딩테스트 뉴비 백준 19-S Sogang ACM-ICPC Team Application (Bronze) 문제집 시작!
  • (백준/Java) 11720번 : 숫자의 합
  • (프로그래머스/Java) 신규 아이디 추천
  • (프로그래머스/C#) 기능개발
Kua
Kua
정보 공유, 개인 정리 공간 입니다.
  • Kua
    Kua's Miscellaneous
    Kua
    • 분류 전체보기 (185)
      • 대문 (2)
      • Tips (25)
        • Chrome (2)
        • Windows (4)
        • IDE (3)
        • 기타 (16)
      • CodingTest (44)
      • Language (20)
        • PHP (5)
        • C# (7)
        • Java (1)
        • Kotlin (7)
      • Framework & Runtime (16)
        • SpringBoot (12)
        • Node.js (2)
        • Vue.js (1)
        • Gradle (1)
      • DevOps (13)
        • Linux (1)
        • Docker (4)
        • Kubernetes (2)
        • Apache Kafka (1)
        • AWS (1)
      • 일상다반사 (53)
        • 도서 (1)
        • 개발 (8)
        • 후기 - IT (7)
        • 후기 - 일상 (13)
        • 차가리 (4)
        • 방송통신대학교 (4)
        • 음식 (2)
      • Games (12)
        • Minecraft (7)
        • VR (2)
        • 그외 (3)
  • 최근 글

  • 인기 글

  • 태그

    spring
    codingtest
    Silver5
    c#
    Kotlin
    Windows
    Spring Boot
    bronze2
    Algorithm
    error
    bronze1
    github
    Plugin
    java
    코딩테스트
    후기
    갤럭시
    백준
    알고리즘
    minecraft
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.0
Kua
(백준/Java) 1009번 : 분산처리
상단으로

티스토리툴바