Bleeding edge

[LeetCode] 1447. Simplified Fractions - 자바스크립트 0628 본문

코딩테스트 공부

[LeetCode] 1447. Simplified Fractions - 자바스크립트 0628

codevil 2022. 6. 28. 13:32

https://leetcode.com/problems/simplified-fractions/

 

Simplified Fractions - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

n이 주어진다면 1/2부터... (n-1)/n 까지 겹치지 않는 분수를 넣는 문제이다. 문제의 개념은 매우 심플하다.

1. 이문제의 경우 중복을 확인해야 하기 때문에 리스트를 리턴할 리스트와, 중복을 체크할 리스트 두개를 만든다.

    const result = []
    const check = []

2. 이런 문제는 i, j를 이용하여 스타팅 포인트를 조절하여, for문을 작성한다

    for (let i = 1; i < n + 1; i++) {
        for (let j = 1; j < i; j++) {
        }
    }

3. 만일 가지고있지 않다고하면, push한다

            if (!check.includes(i / j)) {
                result.push(`${j}/${i}`)
                check.push(i / j)
            }

4. return result

 

전체 풀이

var simplifiedFractions = function (n) {
    const result = []
    const check = []
    for (let i = 1; i < n + 1; i++) {
        for (let j = 1; j < i; j++) {
            if (!check.includes(i / j)) {
                result.push(`${j}/${i}`)
                check.push(i / j)
            }
        }
    }
    return result
};