본문 바로가기

코딩테스트 지도 자동 구축 Java 제곱근을 이용한 문제 풀이

다프트코더 2024. 7. 24.
반응형

코딩테스트 연습문제를 풀이했던 내용을 정리해본다. 개인적으로 코딩테스트가 실제 프로그램 개발 능력과 상관관계가 있나 의문이 든다. 하지만 요즘 코딩테스트를 요구하는 곳이 많아지면서 연습문제를 몇 번 풀어봤다. 

지도 자동 구축

문제는 정사각형의 중심에 점을 하나 추가하면 정사각형이 늘어나는 구조다. 1개의 정사각형에 점 1개를 넣으면 정사각형은 4개가 되고 점은 9개가 된다.

 

그럼 두번째는 4개의 정사각형 가운데에 점 4개가 추가되면 정사각형은 16개가 되고 점은 25개가 된다. 그리서 횟수에 따라 생성되는 정사각형의 개수를 먼저 구한다음에 정사각형 네모 개수의 제곱근을 구해서  곱해버렸다. 그러면 점의 개수가 나온다.

public static void main(String[] args) throws IOException {

    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

    int increaseNum = Integer.parseInt(bufferedReader.readLine());

    //네모 개수를 먼저 구하자
    int squareQty = 1;
    for(int i = 1; i <= increaseNum; i++) {
        squareQty = squareQty * 4;
    }
    //System.out.println(squareQty);
    //네모 개수의 제곱근을 구한다.
    double tmp = Math.sqrt((double)squareQty);
    double pointQty = (tmp + 1) * (tmp + 1);
    System.out.println((int)pointQty);
    
}
반응형

댓글