Problem
Medium 난이도의 문제입니다.
n
이하의 수들이 분모가 되고 각 수가 1 이하가 되도록 하는 수들의 리스트를 구하는 문제입니다.
Solution
단순하게 2중 for문으로 구하면 됩니다.
중복 확인은 Set
을 사용합니다.
Java Code
class Solution { public List<String> simplifiedFractions(int n) { List<String> result = new ArrayList<>(); Set<Float> set = new HashSet<>(); for (float i = 2; i <= n; i++) { for (float j = 1; j < i; j++) { float div = j/i; if (!set.contains(div)) { int child = (int) j; int parent = (int) i; result.add(child + "/" + parent); set.add(div); } } } return result; } }
'알고리즘 문제 > LeetCode' 카테고리의 다른 글
[LeetCode Medium] Find Bottom Left Tree Value (Java) (0) | 2020.07.23 |
---|---|
[LeetCode Easy] Binary Number with Alternating Bits (Java) (0) | 2020.07.21 |
[LeetCode Medium] Find the Minimum Number of Fibonacci Numbers Whose Sum Is K (Java) (0) | 2020.06.24 |
[LeetCode Medium] Search a 2D Matrix II (Java) (0) | 2020.05.14 |
[LeetCode Easy] First Bad Version (Java) (0) | 2020.05.09 |