wherehows
Home
  • 분류 전체보기 (35)
    • 알고리즘 (31)
      • 코드트리 (0)
      • 백준 (1)
      • 리트코드 (21)
      • 프로그래머스 (9)
Home
  • 분류 전체보기 (35)
    • 알고리즘 (31)
      • 코드트리 (0)
      • 백준 (1)
      • 리트코드 (21)
      • 프로그래머스 (9)
블로그 내 검색

wherehows

  • 알고리즘/프로그래머스

    [Lv2] 멀쩡한 사각형

    2021. 6. 14.

    by. 창고

    https://programmers.co.kr/learn/courses/30/lessons/62048

     

    코딩테스트 연습 - 멀쩡한 사각형

    가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을

    programmers.co.kr

     

    좌표 평면 접근

     

    let getGCD = (a, b) => (b > 0 ? getGCD(b, a % b) : a);
    let getYVal = (val) => -(y / x) * val + y;
    
    let x;
    let y;
    
    function solution(w, h) {
        var answer = 0;
        let GCD = getGCD(w, h);
        let num = 1;
        x = w / GCD;
        y = h / GCD;
    
        if(x === y) return w * h - h;
        
        count = 0;
        let pre = y;
        let xVal = 1;
    
        while(xVal <= x) {
            count += pre - Math.floor(getYVal(xVal));
            pre = Math.ceil(getYVal(xVal));
            xVal++;
        }
    
        while(1) {
            if(x * num === w) break;
            num++;
        }
    
        let total = num * count;
    
        answer = w * h - total;
    
        return answer;
    }   
    
    console.log(solution(3,3));

    '알고리즘 > 프로그래머스' 카테고리의 다른 글

    [Lv2] 배달  (0) 2021.06.26
    [Lv2] 124 나라 숫자  (0) 2021.06.21
    [Lv3] 입국심사  (0) 2021.06.16
    [Lv2] 오픈채팅방  (0) 2021.06.14
    [Lv3] 네트워크  (0) 2021.05.26

    댓글

    관련글

    • [Lv2] 124 나라 숫자 2021.06.21
    • [Lv3] 입국심사 2021.06.16
    • [Lv2] 오픈채팅방 2021.06.14
    • [Lv3] 네트워크 2021.05.26
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Powered by ⓒ Kakao Corp.

Designed by Nana
블로그 이미지
창고

티스토리툴바