츄르사려고 코딩하는 코집사입니다.
1. [백준 알고리즘] 백준 15894번 수학은 체육과목 입니다 자바(Java)
1) 문제번호 : 15894번
2) 문제 출처
2. 문제
성원이는 수학을 정말 못 하는 고등학생이다. 수학을 못하는 대신 근성과 팔 힘이 뛰어난 성원이는 수학 시험에서 수학 지식을 사용하지 않고 근성과 체력을 사용해 문제를 푼다. 지난 시험에서는 아래 사진에 나와있는 문제를 근성과 체력을 사용해 열심히 풀었지만 사진에서 볼 수 있듯이 틀려버리고 말았다!
결국 이 문제는 틀려버렸지만 성원이는 여전히 자신의 체력에 강한 자신감을 갖고 있다. 어떤 어려운 문제가 나와도 이런 식으로 근성과 체력을 사용하면 다 풀 수 있으니 이 방법은 최고의 방법이라고 생각하고 있다.
성원이의 친구 형석이는 근성과 체력으로 수학 문제를 푸는 것은 굉장히 무식한 방법이라고 생각한다. 형석이는 수학을 공부하면 문제를 훨씬 빨리 풀 수 있다는 것을 알려주기 위해 위 사진에 나와있는 문제를 갖고 성원이와 퀴즈 내기를 하기로 했다. 위 사진의 문제를 다시 정리하면 아래와 같다.
"한 변의 길이가 1인 정사각형을 아래 그림과 같이 겹치지 않게 빈틈없이 계속 붙여 나간다. 가장 아랫부분의 정사각형이 n개가 되었을 때, 실선으로 이루어진 도형의 둘레의 길이를 구하시오."
가장 아랫부분의 정사각형 개수가 주어지면 그에 해당하는 답을 출력하는 프로그램을 만들어 형석이를 도와주자!
3. 제약사항
- (1 ≤ n ≤ 10^9)
4. 입력
첫 번째 줄에 가장 아랫부분의 정사각형 개수 n이 주어진다. (1 ≤ n ≤ 10^9)
5. 출력
첫 번째 줄에 형석이가 말해야 하는 답을 출력한다.
6. 풀이
- 이 문제에서는 그냥 한 변의 길이 * 4를 하면 된다. 1일 때는 4, 2일 때는 8, 3일 때는 12 즉, 둘레를 구하면 된다.
- 근데, 여기서의 조건은 N은 1보다 크거나 같으면서 10의 9승까지다.
- Int를 사용하면 안된다. BigInteger 사용
7. 소스 코드
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println(sc.nextBigInteger().multiply(BigInteger.valueOf(4)));
}
}
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 백준 20944번 팰린드롬 척화비 자바(Java) (0) | 2021.03.23 |
---|---|
[백준 알고리즘] 백준 10707번 수도요금 자바(Java) (0) | 2021.03.20 |
[백준 알고리즘] 백준 15727번 조별과제를 하려는데 조장이 사라졌다 자바(Java) (0) | 2021.03.20 |
[백준 알고리즘] 백준 11283번 한글2 자바(Java) (0) | 2021.03.20 |
[백준 알고리즘] 백준 1010번 다리 놓기 자바(Java) (0) | 2021.03.20 |
[백준 알고리즘] 백준 20492번 세금 자바(Java) (0) | 2021.03.19 |
[백준 알고리즘] 백준 11478번 서로 다른 부분 문자열의 개수 자바(Java) (1) | 2021.03.19 |
[백준 알고리즘] 백준 20937번 떡국 자바(Java) (0) | 2021.03.17 |
최근댓글