코딩 정복 가즈아~
Home
  • 분류 전체보기 (159)
    • 알고리즘 풀이 (149)
      • 프로그래머스 (89)
      • 백준 (59)
    • 취준 일기 (6)
    • 네트워크 정리 (1)
Home
  • 분류 전체보기 (159)
    • 알고리즘 풀이 (149)
      • 프로그래머스 (89)
      • 백준 (59)
    • 취준 일기 (6)
    • 네트워크 정리 (1)
블로그 내 검색

코딩 정복 가즈아~

(っ◔◡◔)っ ♥ 2021 취뽀하자!! ♥

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

    [level2] 프로그래머스 - 멀쩡한 사각형(JAV)

    2021. 9. 11.

    by. 데롱디롱

    728x90

     

     

    [ 풀이 방법 ]

    - 직선을 그리는 일차 방정식(y = ax)를 이용하여 수식을 만든다.

    y = x * h / w 

    - 기울기인 h / w를 먼저 계산하게 되면, 소수점을 정확히 구할 수는 없기 때문에 값이 불완전해져 
       6번 테스트 케이스가 틀린다.ㅠㅠ 
       => x를 먼저 h와 곱한 후, w로 나누자

     

    - 1부터 w전까지의 정수를 방정식에 대입하여, 온전한 정사각형 개수를 센다.

    위에서 구한 y = i * h / w 에 1 ~ (w-1)의 값을 대입해준다.

    y의 값을 내림했을때의 값 = 온전한 사각형의 크기

     

     

    - 위에서 구한 값들의 합이 '1*1 정사각형의 크기'이다.

     

     

     

     

    [ 전체 코드 ]

    class Solution {
        public long solution(int w, int h) {
            long answer = 0;
    
            // 일차방정식 y = ax 이용
            for (long i = 1; i < w; i++)
                answer += Math.floor(h * i / (double) w);
    
            return answer * 2;
        }
    }

     

     

     

    코드 질문이나 이상한점은
    댓글 부탁드려요 :)
    저작자표시 (새창열림)

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

    [level2] 프로그래머스 - 124 나라의 숫자  (2) 2021.09.12
    [level2] 프로그래머스 - 순위 검색(JAVA)  (0) 2021.09.12
    [level2] 프로그래머스 - 튜플(JAVA)  (0) 2021.09.10
    [level2] 프로그래머스 - 수식 최대화(JAVA)  (0) 2021.09.10
    [level2] 프로그래머스 - [1차] 뉴스 클러스터링(JAVA)  (0) 2021.09.09

    댓글

    관련글

    • [level2] 프로그래머스 - 124 나라의 숫자 2021.09.12
    • [level2] 프로그래머스 - 순위 검색(JAVA) 2021.09.12
    • [level2] 프로그래머스 - 튜플(JAVA) 2021.09.10
    • [level2] 프로그래머스 - 수식 최대화(JAVA) 2021.09.10
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

피할 수 없다면, 순간을 즐겨라

Designed by Nana
블로그 이미지
데롱디롱
희희.. (๑′ᴗ‵๑)

티스토리툴바