티스토리 뷰



1. Java 구현

            
package Q15894;

import java.math.BigInteger;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        System.out.println(new BigInteger(new Scanner(System.in).nextLine()).multiply(new BigInteger("4")) + "\n");
    }
}


2. 코드설명

 이 문제는 규칙성 발견과 큰 출력값을 표현할 수 있는 것이 가장 중요한 요소이다. 우선 규칙성을 말하자면 "입력값 * 4 == 결과값" 이다.

 1 -> 4 이고, 2 -> 8 이고, 3 -> 12 이고, .... 이다. 왜인지는 직접 그림을 그리다보면 알 수 있을 것이다.

 다음으로 입력값 10^9 * 4 를 출력하기 위해서는 int, long으로는 불가능 했다. 자바에서 큰 정수를 표현하기 위해서는 BigInteger를 써야한다.

 하지만 BigInteger의 연산은 Primitive Type의 연산보다 속도가 느리다. 그렇기 때문에 쓰는 것은 좋아하지 않는다.

 그러나, 이 문제에서는 BigInteger 연산이 한번뿐이기 때문에 써도 무방한것 같다.


3. Pain Point

 BigInteger와 규칙성만 발견한다면 쉽게 풀 수 있는 문제이다. 코드가 한줄로 나올 수 있다!


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함