-
백준 - 마법사 상어와 파이어볼
문제 설명 주의사항 모듈러 연산 주어진 칸을 몇칸을 갈것인지에 대해 먼저 모듈러 연산을 하고 따로 전체에서 모듈러 연산을 진행해야 한다. 이동 조건 [이동 중복 이슈]왜냐하면 0,0에서 1,3으로 이동했을 때, 다시 1,3 배열을 순회하는 부분에서 또 이동이 발생하기 때문이다. 이동할 때 배열의 복사를 진행해야한다. 2-4 번 조건 질량이 0인 파이어볼은 소멸되어 없어진다. [소멸되어 없어짐은 곧 해당 배열에 있는 기존 파이어볼도 다 없애야 함.] 풀이 static int dy[] = {-1, -1, 0, 1, 1, 1, 0, -1}; static int dx[] = {0, 1, 1, 1, 0, -1, -1, -1}; private static int n; static class FireBall { in..
Algorithm/백준
2023. 3. 14.
-
중앙값 구하기
문제 설명 어떤 수열을 읽고, 홀수번째 수를 읽을 때 마다, 지금까지 입력받은 값의 중앙값을 출력하는 프로그램을 작성하시오. 예를 들어, 수열이 1, 5, 4, 3, 2 이면, 홀수번째 수는 1번째 수, 3번째 수, 5번째 수이고, 1번째 수를 읽었을 때 중앙값은 1, 3번째 수를 읽었을 때는 4, 5번째 수를 읽었을 때는 3이다. 홀수 숫자 아니고 홀수 번째이다. TRY 지속적으로 정렬하면서 체크했지만 FAIL 풀이 두 개의 우선순위 큐를 이용한 풀이 [MaxHeap, MinHeap] MaxHeap에는 큰 숫자를 넣는 것이 아니라 작은 숫자를 넣어줌(중간에 스왑 과정이 있음) public static void main(String[] args) throws IOException { BufferedRea..
Algorithm/백준
2023. 3. 11.