분류 전체보기
-
백준(BOJ) 17142번 연구소 3알고리즘 풀이/백준(Boj) 2020. 3. 31. 15:51
문제 : https://www.acmicpc.net/problem/17142 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고, 활성 상태인 바이러스는 상하좌우로 인접한 모든 빈 칸으로 동시에 복제되며, 1초가 걸린다. 승원이는 연구소의 바이러스 M개를 활성 상태로 변경하려고 한다. 연구소는 크기가 N×N인 정사각형으로 나타낼 수 있으며, 정사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 www.acmicpc.net 풀이 : cand배열에는 2인 바이러스들을 모두 저장한다. cand배열 중 m개만큼 picked에 담고 bfs()를 돌린다..
-
자바의 다형성 이란?JAVA/Java 2020. 3. 30. 23:49
다형성에 대해서 알아보자. 다형성이란 하나의 메서드나 클래스가 있을 때 이것들이 다양한 방법으로 동작하는 것을 말한다. 키보드를 예로 비유를 해보자면 'ESC' 키도 'ENTER'키도 누른다는 push는 같지만 'ESC'는 취소를 'ENTER'키는 실행의 목적을 가지고 있는 것처럼 말이다. 자바를 예로 다형성을 설명하기 가장 쉬운 예는 오버로딩이 아닌가 싶다. 1. 오버로딩 오버 로딩은 같은 이름이지만 어떤 파라미터를 가지고 어떤 리턴 타입을 가지냐에 따라서 다른 메서드가 호출되는 방식이다. 역시 앞의 예와 같이 같은 이름 다른 동작이기에 다형성의 측면에서 볼 수 있는 것이다. 2. 오버 라이딩 클래스 B로 객체를 만드는데 데이터 타입이 A인 경우를 보자. ( 클래스 B를 인스턴스화 시킨 인스턴스를 ob..
-
자바의 리플렉션JAVA/Java 2020. 3. 28. 23:37
자바의 리플렉션은 구체적인 타입을 알지 못해도 그 클래스의 메서드, 타입, 변수 등을 접근할 수 있도록 해주는 자바 API이다. 좀 더 자세히 말하자면 자바에서 이미 로딩이 완료된 클래스에서 또 다른 클래스를 동적으로 로딩(Dynamic Loading) 하 여 생성자(Constructor), 필드, 메서드 등을 사용하고 변경하는 기법이다. 모든 클래스의 부모 클래스인 Object 타입으로 Car 클래스의 인스턴스는 담을 수 있지만 사용 가능한 메서드는 Object의 메서드와 변수들 뿐이고 car의 메서드는 사용할 수 없다. 위 예와 같이 구체적인 타입의 클래스를 모를 때 사용하는 것이 리플렉션이다. 그러면 구체적인 타입의 클래스를 모른다는 것은 언제 일까? 런타임에 지금 실행되고 있는 클래스를 가져와서 ..
-
자바의 추상 클래스와 인터페이스JAVA/Java 2020. 3. 28. 22:29
자바의 상속 개념에 항상 등장하는 것은 추상 클래스와 인터페이스이다. 어떤 공통점이 있고 어떤 차이가 있는지 항상 애매모호하고 따라서 내용을 정리해 보기로 했다. 추상 클래스는 하나 이상의 추상 메소드를 가지고 있는 클래스를 말하고 추상 메소드란 아직 구현되어 있지 않은 abstract으로 정의된 메서드를 말한다. 클래스에서 상속을 받는다면 추상 메서드가 있을 경우 모두 구현해주어야 한다. 추상클래스는 일반적인 메소드가메서드가 있을 수 있고 추상 메서드가 있을 수도 있다. 단 한 개라도 추상 메서드가 있 다면 그 클래스 앞에 abstract 으로 표기해야 한다. 추상 클래스는 일반 변수들을 가질 수 있다. 추상 클래스는 생성자를 가질 수도 있다. 인터페이스는 메소드들의 형태만 써놓은 것이며 역시 상속하는..
-
백준(BOJ) 18809번 Gaaaaaaaaaarden알고리즘 풀이/백준(Boj) 2020. 3. 28. 17:49
문제 : https://www.acmicpc.net/problem/18809 18809번: Gaaaaaaaaaarden 첫째 줄에 정원의 행의 개수와 열의 개수를 나타내는 N(2 ≤ N ≤ 50)과 M(2 ≤ M ≤ 50), 그리고 초록색 배양액의 개수 G(1 ≤ G ≤ 5)와 빨간색 배양액의 개수 R(1 ≤ R ≤ 5)이 한 칸의 빈칸을 사이에 두고 주어진다. 그 다음 N개의 줄에는 각 줄마다 정원의 각 행을 나타내는 M개의 정수가 한 개의 빈 칸을 사이에 두고 주어진다. 각 칸에 들어가는 값은 0, 1, 2이다. 0은 호수, 1은 배양액을 뿌릴 수 없는 땅, 2는 배양 www.acmicpc.net 풀이 : loc 배열에는 0과 g에 개수만큼 1이, r에 개수만큼 2가 들어있다. 이 loc 배열을 ne..