728x90
반응형
https://github.com/ROUTINE-STUDY/Algorithm
알고리즘 스터디를 진행하고 있습니다. 😊
초보들로 구성되어있으며, 열심히 풀어보고 풀이 방식을 공유하고 피드백을 해주는 스터디입니다.
참여 문의는 댓글 혹은 GitHub 주소를 참고해주세요.
문제 출처 : https://www.acmicpc.net/problem/9094
풀이 방법
간단한 완전탐색 문제
입력/구현의 분리에 대해 생각하고 토론했다.
출력도 한번에 처리하는게 속도면에서는 우수하다.
시간 복잡도 : O(N^2)
내 코드(JAVA)
public class Sanghoo {
static int[][] testCase;
public static void main(String[] args) throws IOException {
try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
StringBuilder sb = new StringBuilder();
int testCaseCount = Integer.parseInt(br.readLine());
testCase = new int[testCaseCount][];
// 입력
for(int i=0; i<testCaseCount; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
testCase[i] = new int[]{n,m};
}
// 구현
for(int i=0; i<testCaseCount; i++) {
int n = testCase[i][0];
int m = testCase[i][1];
sb.append(calculate(n,m)).append("\n");
}
System.out.println(sb);
}
}
// 정수의 개수 반환
private static int calculate(int n, int m) {
int integerCount = 0;
double result;
for(double a=1; a<n-1; a++) {
for(double b=a+1; b<n; b++) {
result = (a*a + b*b + m) / (a*b);
if(result == (int) result) integerCount++;
}
}
return integerCount;
}
}
728x90
반응형
'알고리즘' 카테고리의 다른 글
[백준/JAVA] 1100. 하얀칸 (0) | 2022.04.04 |
---|---|
[백준/JAVA] 17952. 과제는 끝나지 않아! (0) | 2022.04.04 |
[백준/JAVA] 1018. 체스판 다시 칠하기 (0) | 2022.01.23 |
[백준/JAVA] 2309. 일곱 난쟁이 (0) | 2022.01.22 |
[백준/JAVA] 17509. And the Winner Is... Ourselves! (0) | 2021.11.02 |
댓글