목록백준 (6)
원하는 것은 뭐든지

문제풀이왜 이렇게 어렵게 다가오는지 모를 정도로 어려웠다.. ㅋㅋ 머리가 안 돌아간다. 입력받은 값이 위와 같다면 최댓값을 중심으로 값을 더해주고 최댓값이 한번만 더해지면 되는 형태이다. 입력받은 값이 위와 같이 최대값이 여러 개인 상황이라면 최댓값의 양 끝 값 사이의 값은 최댓값으로 채워주면 된다. 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;/** * 백준 * 창고 다각형 */public class No2304 { public static void main(String[] args) throws IOException..

문제 풀이 1~20까지의 수를 2^0~2^4까지의 수로 나뉘는지 체크해 본 것이다.어떤 규칙이 있는지를 보면 9까지 1로 나눈 결과는 당연히 9다 9까지 2로 나눈 결과를 보면 당연히 4다.체크표시를 보자 1부터 9까지의 수에 1로 나누어 지는 경우는 아홉 가지다. 1부터 9까지의 수에 2로 나누어지는 경우는 네 가지다.이처럼 보려고 하는 숫자를 n이라고 한다면 1~n까지의 수에서 2로 나누어지는 경우는 n/2의 몫이 된다.우리는 A~B까지의 수에서 2의 거듭제곱 꼴이면서 가장 큰 약수를 다 더하려고 한다. B까지의 약수를 다 더하고 A-1까지의 약수를 빼주면 값이 나오게 된다.import java.io.BufferedReader;import java.io.IOException;import java.io..