✔ 문제 8320 직사각형을 만드는 방법
8320번: 직사각형을 만드는 방법
상근이는 변의 길이가 1인 정사각형 n개를 가지고 있다. 이 정사각형을 이용해서 만들 수 있는 직사각형의 개수는 총 몇 개일까? 두 직사각형 A와 B가 있을 때, A를 이동, 회전시켜서 B를 만들 수
www.acmicpc.net
핵심 아이디어
PYTHON
# 방법1. 가로 세로 탐색
N = int(input())
ans = 0
for i in range(1, N + 1):
for j in range(i, N + 1):
if i*j <= N:
ans += 1
print(ans)
# 방법2. 규칙
N = int(input())
ans = N
for i in range(2, N):
n = N // i - (i-1)
if n < 1:
break
ans += n
print(ans)
JAVA
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int ans = 0;
for (int i = 1; i <= N; i++){
for (int j = i; j<=N; j++) {
if (i*j <= N) ans += 1;
}
}
System.out.println(ans);
}
}
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int ans = N;
for (int i = 2; i < N; i++){
int tmp = N / i ;
int n = tmp - (i-1);
if(n < 1) break;
ans += n;
}
System.out.println(ans);
}
}
'자료구조&알고리즘 > 백준' 카테고리의 다른 글
[backjoon] 백준 1655번 가운데를 말해요 (Python, Java풀이) (1) | 2025.04.30 |
---|---|
[backjoon] 2461번 대표선수 풀이(Python) (0) | 2025.04.05 |
[백준] 색종이 10163번 (PYTHON,JAVA) (2) | 2024.03.26 |
[백준] N과 M(1) 15649번 (PYTHON,JAVA) (0) | 2024.03.15 |
[백준] 약수 구하기 2501번 (PYTHON,JAVA) (0) | 2024.03.11 |