[알고리즘]JAVA - 모의테스트, 근무자흑

     

    https://brandi.goorm.io/exam/84506/%EB%AA%A8%EC%9D%98%ED%85%8C%EC%8A%A4%ED%8A%B8-2020-%EB%B8%8C%EB%9E%9C%EB%94%94-%EC%BD%94%EB%94%A9%EB%8C%80%ED%9A%8C-%EC%BD%94%EB%93%9C%EB%84%A4%EC%9E%84b-%EB%AA%A8%EC%9D%98%ED%85%8C%EC%8A%A4%ED%8A%B8/quiz/1
    https://brandi.goorm.io/exam/84506/%EB%AA%A8%EC%9D%98%ED%85%8C%EC%8A%A4%ED%8A%B8-2020-%EB%B8%8C%EB%9E%9C%EB%94%94-%EC%BD%94%EB%94%A9%EB%8C%80%ED%9A%8C-%EC%BD%94%EB%93%9C%EB%84%A4%EC%9E%84b-%EB%AA%A8%EC%9D%98%ED%85%8C%EC%8A%A4%ED%8A%B8/quiz/1

     

    간단한 알고리즘 모의테스트를 진행하였다.

    문제를 읽었을 때의 핵심을 요구한다면.

     

    1. 이 수열은 몇을 입력을 하든, 최소값이 1이 나온다.

    2. 최소값 1이 수열의 순서와 상관없이 결과값은 항상 동일하다.

     

     

    그렇다면 이제 위의 예제를 살펴보자.

    2 3 1 4 입력했을 경우, 2개의 동그라미가 순서가 생긴다.

     

    7 3 1 8 4 6 2 5 입력했을 경우 4개의 순서가 샌긴다.

    여기서, 7 3 1 8 4 6 2 5와 7 3 1 8 4 6 2 5 는 반드시 있다.

    그러면 7 3 1 8 4 6 2 5 는 어떤 구조이길래 결과가 3개가 아니라 4개 일까?

     

    여러 Test 결과 이와 같았다.

    7 3 1 8 4 6 2 5

    7 3 1 8 4 6 2 5

    7 3 1 8 4 6 2 5

    7 3 1 8 4 6 2 5Α

    ㅣ마지막 지정값 1개와 그 다음값 + α 일 때. 식은 이와 같아졌다.

    8 3 이 입력 됐을 경우, 3 + 2 + 2 + 2가 된다.

     

    public class Pro02
    {
    
    	public static void main(String[] args) throws Exception
    	{
    		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    		String input = br.readLine();
    		String[] arr = input.split(" ");
    
    		// 값 1 , 값 2 만들기 N과 K의 값
    		// int 배열의 총 갯수
    		int num1 = Integer.parseInt(arr[0]);
    		// int 배열 자르는 수
    		int num2 = Integer.parseInt(arr[1]);
    
    		// 수열 받기
    		input = br.readLine();
    		arr = input.split(" ");
    
    		int cnt = 0;
    
    		// 수의 수열 갯수 구하기
    		int[] arrNum = new int[arr.length];
    		for (int i = 0; i < arr.length; i++)
    		{
    			arrNum[i] = Integer.parseInt(arr[i]);
    		}
    
    		num1 -= num2;
    		cnt++;
    		
    		while(num1 > 0)
    		{
    			num1 -= (num2-1);
    			cnt++;
    		}
    		
    		
    		System.out.println(cnt);
    
    	}
    
    }

    그래서 위와 같은 알고리즘이 나왔다.

    되도록, 문제 출제에서 준 영역은 안 건들였다. 만약, 풀게 된다면 사용자에 맞게 다시 정의해도 상관 없을듯 하다.

     

    위의 문제는 아래의 링크에서 참고 했다.

    https://brandi.goorm.io/exam/84506/%EB%AA%A8%EC%9D%98%ED%85%8C%EC%8A%A4%ED%8A%B8-2020-%EB%B8%8C%EB%9E%9C%EB%94%94-%EC%BD%94%EB%94%A9%EB%8C%80%ED%9A%8C-%EC%BD%94%EB%93%9C%EB%84%A4%EC%9E%84b-%EB%AA%A8%EC%9D%98%ED%85%8C%EC%8A%A4%ED%8A%B8/quiz/1

    반응형

    댓글

    Designed by JB FACTORY