반응형

1. 문제 번호 2903번


 

 

 

2. 문제 풀이 

 

한줄 평가

 - 규칙을 찾는데 조금 오래 걸려서 포기함..

 

 

 

문제를 먼저 정확히 파악

 

  • 총 점 개수의 규칙성을 먼저 파악하거나 or 첫 번째 줄의 규칙성을 파악하면 쉬움!

 

// 반복회수 | 첫번째 라인의 점 | 총 개수
// 0      | 2            |  4
// 1      | 3            |  9
// 2      | 5            |  25
// 3      | 9            |  81
// 4      | 17           |  289
// 5      | 33           |  1089

 

첫 번째 라인의 점은 1, 2, 4, 8, 16 으로 증가

총 개수는 첫 번째 라인의 점의 제곱

 

나의 문제풀이 방식 및 순서

 

 * 나의 다양한 학습이 우선이기 때문에 다양한 방법을 생각 *

 

  1. 초기상태 -> 1번  : 5
  2. 1번 -> 2번         : 5 + 4*2 + 3   = 16
  3. 2번 -> 3번        : 5 + 4*12 + 3  = 56
  4. 3번 -> 4번        : ??? 

즉 생성되는 검은색 점의 규칙성을 찾고자 하였음. (결과는 Fail)

 

 

 

 


3. 소스 인증

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int inputCnt = Integer.parseInt(br.readLine());
        StringBuilder st = new StringBuilder();
        int [] intAry = {25,10,5,1};

        while(inputCnt > 0){
            int inputLine = Integer.parseInt(br.readLine());

            for(int i = 0; i < 4; i++){
                int count = inputLine / intAry[i];
                st.append(count);
                st.append(" ");
                inputLine = (inputLine % intAry[i]);
            }
            st.append("\n");
            inputCnt--;
        }
        System.out.println(st);
    }
}

 

 

// Math의 클래스의 pow()메서드를 사용했다.
// Math.pow(거듭제곱할 숫자, 거듭제곱(몇제곱인지);
System.out.println((int)Math.pow(Math.pow(2, n) +1, 2));

 

 

 

- 실패 소스코드 -

 

 

 

 

 

 


4. 추가 개념

 

 

 

 

 

 

 

 


5. 참조 블로그


 

불편함을 느끼실 경우 연락 주시면 곧 바로 삭제하도록 하겠습니다.

 


 

 

 

 

 

 

 

 

 

728x90
반응형

+ Recent posts