-
이번에는 BOJ의 1977번 문제 "완전제곱수" 를 풀어보도록 하자
입력으로 첫째 줄에 M이, 둘째 줄에 N이 주어진다.
출력으로 M이상 N이하의 자연수 중 완전제곱수인 것을 모두찾아 첫째 줄에 그들의 합을, 둘째 줄에 그중 최솟값을 구하면 되는 문제이다.
성공한 코드는 아래와같다.
import java.io.*; import java.util.*; public class sample { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); boolean[] wan = new boolean[10001]; for (int i = 1; i * i <= 10000; i++) { wan[i * i] = true; } int M = Integer.parseInt(br.readLine()); int N = Integer.parseInt(br.readLine()); int ans = 0; int min = -1; for (int i = M; i <= N; i++) { if (wan[i]) { if (min == -1) min = i; ans += i; } } if (ans == 0) bw.write(-1 + "\n"); else bw.write(ans + "\n" + min + "\n"); bw.flush(); br.close(); bw.close(); } }
문제 : https://www.acmicpc.net/problem/1977
혹시 코드에 이상한 부분이나 틀린 부분이 있던지, 이해가 안가는 부분이 있다면 댓글로 알려주세요.
'Algorithm > BOJ(Baekjoon Online Judge)' 카테고리의 다른 글
[백준 - 2312번] 수 복원하기 - Java //Wello Horld// (0) 2020.01.03 [백준 - 2033번] 반올림 - Java //Wello Horld// (0) 2020.01.03 [백준 - 1966번] 프린터 큐 - Java //Wello Horld// (0) 2019.12.31 [백준 - 1676번] 팩토리얼 0의 개수 - Java //Wello Horld// (0) 2019.12.31 [백준 - 1620번] 나는야 포켓몬 마스터 이다솜 - Java //Wello Horld// (0) 2019.12.31