코드 저장소

공부에는 끝이 없다!

2차원 배열 2

백준 문제 풀이 - 2차원 배열 단계 - 2563번 색종이 (실버 5)

해당 문제는 총 100x100의 크기의 도화지에 색종이를 붙인다고 할때, 색종이가 붙어 있는 영역의 전체 넓이를 구하는 문제이다. 색종이의 수는 처음에 입력되며 크기는 10x10으로 고정이지만, 겹치는 부분이 생길 수 있으므로, 그것을 감안하여 계산하여야 한다. 나는 전체 도화지를 100x100의 빈 2차원 배열을 만들어 두고, 2차원 배열 안에 색종이의 시작점이 주어지면 시작점에서 + 10으로 2중 for문을 돌려서 해당하는 인덱스에 집어넣은 후, 값이 있는 것만 다른 배열에 담아 해당 배열의 크기를 구하여 계산하는 방식으로 설계를 하였다. 코드는 다음과 같다. import java.io.*; import java.nio.Buffer; import java.util.*; class Main{ publi..

백준 문제 풀이 - 2차원 배열 단계 - 2738번 행렬 덧셈 (브론즈 5)

브론즈 5단계의 간단한 문제이지만, 이중 반복문의 반복이 아닌 다른 방법으로 풀어 정리를 해두고자 한다. 우선 문제를 살펴보자. 해당 문제는 2차원 행렬이 주어지는 2개의 2차원 배열의 값을 더하여 하나의 2차원 배열로 만드는 것이다. 문제의 제약조건이 그렇게 크지 않아 배열의 크기가 100*100을 넘어 가지는 않는다. 때문에 대부분의 사람들이 이중 포문의 반복으로 풀어낸 것을 볼 수 있었다. import java.io.IOException; import java.util.Scanner; public class Main { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); int ..