[코테/JAVA] 연습문제 : 점 찍기

    728x90
    반응형

    2022.12.08

    코테 문제풀이 21주차 02번 문제

     

     

    문제

      ① 연습문제 : 점 찍기

     

       링크

     

    프로그래머스

    코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

    programmers.co.kr

     

     

    접근방법

      생각해낸 방법은 2가지

      ① 이중 for문

      ② 좌표의 갯수 계산

     

     

    풀이

      ① 접근방법 :

      ② 풀이

    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
    class Solution {
        /*
         * Date: 2022-03-07
         * Time: 01:11
         */
        public static long solution(int k, int d) {
            return pointing(k, d);
        }
        
        /*
         * 메소드명: 점 찍기
         * 1. 좌표의 최댓값 계산
         * 2. 좌표의 최댓값 / k = 특정 위치에서 찍을 수 있는 좌표의 갯수
         * 3. (0, 0)은 포함이 안되므로 +1
         */
        public static long pointing(int k, int d) {
            // Output Instance
            long output = 0;
            
            for (int i = 0; i <= d; i+=k) {
                int y = (int)Math.sqrt(Math.pow(d, 2- Math.pow(i, 2));
                output += y/k;
                output += 1;
            }
     
            return output;
        }
    }
    cs

     

     

    결과

     

    주의사항

      ① 이중 for문 사용시 시간초과 발생

    728x90
    반응형

    댓글