JAVA 백준 1977번 완전제곱수

math.sqrt(); 를 잘 써주면 쉽게 풀 수 있는 문제이다

두 가지 방법이 있다.


첫 번째 코드이다.


두 번째 코드이다.

JAVA 백준 2455번 지능형 기차



최소공배수를 구하는 방법중에는 두 수의 최대공약수를 구한다음 두 수를 곱해주고 최대공약수 만큼 그 수를 나눠주면 구할 수 있는 공식이있다.

A와 B 두 수 중에서 작은 수가 적어도 그 수만큼 반복을 해줘야지 최대공약수를 구할 수 있다. 즉 , Math()로 입력받은 두 수 중에 작은 수를 찾은 뒤 최대공약수를 

아래와 같이 찾을 수 있다. 코드를 보자.

 

JAVA 백준 1676번 팩토리얼 0의 개수


처음에 팩토리얼 한 값을 문자열에 저장해 하나씩 0과 비교하서 COUNT 세려고 했는데 N의 값이 일정치 이상 넘어가니 변수형 long도 감당하지 못하게 된다. 그래서 규칙을 찾으려 노력했다. 처음에 하나의 규칙을 찾았다.

이렇게 2의 배수와 5의 배수가 만나면 뒤에 0이 들어가는 값이 만들어진다. 

이것을 보면 5가 곱해져 있는 만큼 0이 더해지는 것을 알 수 있다. 즉, 5가 한번 곱해졌으면 0의 count가 1증가, 어느 값에 5가 2번 곱해져 있으면 0의 count가 2증가한다는 것을 볼 수 있다. (뒤에 값을 기준으로 한다)

나중에 50값은 5가 2번 곱해져 있는것과 동시에 2도 하나 곱해져 있다. 100의 값은 5가 2번, 2가 2번 곱해져있다. 50이나 100을 5의 배수가 몇번 곱해져 있는지 알고 위해 2와 5를 계속 나눠주는 것이다.





먼저 이 문제를 풀기 위해서 이항 계수가 뭔지 알아야 한다. 이항계수는 경우의 수를 계산할 때 N개의 서로 다른 물건 중에서 K개의 물건을 선택하는 것을 N개에서 K개를 선택하는 조합 이라고 한다. 즉, N개 중에서 서로다른 K개를 고르는 조합의 수 이다.


백준 다이나믹 프로그래밍

https://www.youtube.com/watch?v=0o2hF-To_6Q


다이니막 프로그래밍

1. Top - Down 방식

2. Bottom - Up 방식

https://www.youtube.com/watch?v=K15qLnKKrow


1.Top-Down 방식

Top-Down 방식은 문제를 작게 나눈뒤 풀고 하나로 합치는 것이다.



2.Bottom-Up 방식

Bottom-Up 방식은 작은 문제에서 큰 문제로 순차적으로 문제를 푸는 것이다.


위쪽이 Bottom-Up  아래쪽이 Top-Down 방식

JAVA 백준 10866번 덱


https://skyvvv624.blog.me/220950557929

큐와 덱의 자세한 설명이 나와있다.


JAVA 백준 2748번 피보나치 수 2


n이 90일 때는 int형 값을 넘어가므로 long을 써야한다.

자바 백준 2747번 피보나치 수


'백준 알고리즘 > JAVA' 카테고리의 다른 글

JAVA 백준 10866번 덱  (0) 2018.07.22
JAVA 백준 2748번 피보나치 수 2  (0) 2018.07.21
[JAVA 자바] 백준 10845번 큐  (2) 2018.07.21
[JAVA 자바] 백준 9012번 괄호  (0) 2018.07.20
[JAVA 자바] 백준 10828번 스택  (0) 2018.07.19

자바 백준 10845번 큐


https://skyvvv624.blog.me/220950557929

이 페이지에서 큐와 덱에 대한 자세한 설명이 나와있다.


+ Recent posts