전체 글
-
[그리디] 숫자 카드 게임Algorithm/유형별 문제 풀기 2021. 6. 25. 18:45
문제 설명 여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 1장을 뽑는 게임이다. 단, 주어진 게임의 룰을 지키며 카드를 뽑아야 한다. 게임 룰 : 1. 뽑고자 하는 카드가 포함되어 있는 행을 선택함 2. 선택된 행에 포함된 카드들 중 가장 숫자가 낮은 카드를 뽑아야 함 3. 따라서 처음에 카드를 골라낼 행을 선택할 때, 이후에 해당 행에서 가장 숫자가 낮은 뽑을 것을 고려하여 최종적으로 가장 높은 숫자의 카드를 뽑을 수 있도록 전략을 세워야 함 1. 사용 알고리즘 그리디 2. 문제 해결 아이디어 주어진 2차원 배열의 각 행마다 최소값을 찾고, 최소값들 중 가장 큰 값이 속한 행을 선택해 해당 값을 반환해주면 된다. 3. 코드 구현방식1) 각 행을 오름차순 정렬시킨 후, 각 행의 첫 번째 원소들..
-
[그리디] 큰 수의 법칙Algorithm/유형별 문제 풀기 2021. 6. 25. 17:08
1. 사용 알고리즘 그리디 2. 문제 해결 아이디어 주어진 배열의 값 중 가장 큰 수 2개를 선택해 조건에 맞게 더해주면 가장 큰 수를 만들 수 있다. 3. 코드 구현방식) 반복되는 수열을 사용한다. 가장 큰 수를 만들기 위해서는 최대값을 가장 많이 더해줘야 하므로 K값에 따른 반복되는 수열의 크기는 K+1이 된다. 따라서 더해지는 횟수 M을 (K+1)로 나눈 몫이 수열이 반복되는 횟수가 된다. 추가로 M이 (K+1)로 나누어 떨어지지 않는 경우가 존재하므로 이때는 M을 (K+1)로 나눈 나머지만큼 최대값이 추가로 더해진다. 최대값이 더해지는 횟수 = M/(K+1) * K + M%(K+1) import java.util.Scanner; import java.util.Arrays; class q1 { pu..
-
[Java] 예외(Exception)Programming/Java 2021. 5. 19. 03:03
예외 클래스 Error와 Exception은 모두 Throwable 클래스를 상속받음 위의 그림을 통해 Exception 2가지 종류에 대해 알 수 있음 1. Checked Exception -> 일반(컴파일 체크) 예외 예외 처리 코드가 없으면 컴파일 오류 발생 예외 확인 시점 : 컴파일 단계 2. Unchecked Exception -> 실행 예외 예외처리 코드 생략해도 컴파일 됨 예외 확인 시점 : 실행 단계 RuntimeException 클래스의 하위 클래스들 예외 처리 1. Checked Exception 1-1. 예외 처리 전 import java.io.FileReader; public class CheckedException { public static void main(String[] ar..