Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 구현
- Method
- string
- database
- 코딩테스트
- array
- simulation
- bit manipulation
- 자바
- Counting
- SQL
- 코테
- java
- Math
- Data Structure
- two pointers
- Class
- geometry
- 파이썬
- dynamic programming
- Matrix
- implement
- hash table
- Binary Tree
- Stack
- Binary Search
- sorting
- greedy
- Tree
- Number Theory
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 1925. Count Square Sum Triples 본문
1. Input
1) int n
2. Output
1) 피타고리스의 정리를 만족하는 n 이하의 세 자연수 a, b, c의 순서쌍의 개수를 반환
- a^2 + b^2 = c^2
3. Constraint
1) 1 <= a, b, c <= n
2) 1 <= n <= 250
4. Example
Input: n = 5 -> Output: 2
설명: (3,4,5), (4,3,5)
5. Code
1) 첫 코드(2023/04/24)
int answer = 0;
for(int a=1 ; a<n ; a++){
for(int b=1 ; b<n ; b++)
for(int c=1 ; c<=n ; c++){
if(Math.pow(a,2)+Math.pow(b,2)==Math.pow(c,2))
answer++;
}
}
return answer;
- 메모리는 거의 안 먹는데 엄청 느리다.
2) 다른 사람의 풀이를 참고해 다시 풀어본 코드(2023/04/24)
int answer = 0;
for(int a=1 ; a<=n ; a++){
for(int b=a+1 ; b<=n ; b++){
int c = a*a + b*b;
int r = (int)Math.sqrt(c);
if(r*r==c && r<=n)
answer+=2;
}
}
return answer;
- 메모리는 더 먹지만 훨씬 빨라졌다.
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 1974. Minimum Time to Type Word Using Special Typewriter (0) | 2023.04.24 |
---|---|
[LeetCode/Easy] 1945. Sum of Digits of String After Convert (0) | 2023.04.24 |
[프로그래머스/Lv.0] 문자 리스트를 문자열로 변환하기 (0) | 2023.04.22 |
[프로그래머스/Lv.0] n 번째 원소까지 (0) | 2023.04.22 |
[프로그래머스/Lv.0] 대문자로 바꾸기 (0) | 2023.04.22 |