알고리즘/SWEA 2

[SWEA] 1209: Sum (Python)

[문제] 다음 100X100의 2차원 배열이 주어질 때, 각 행의 합, 각 열의 합, 각 대각선의 합 중 최댓값을 구하는 프로그램을 작성하여라. 다음과 같은 5X5 배열에서 최댓값은 29이다. [제약 사항] 총 10개의 테스트 케이스가 주어진다. 배열의 크기는 100X100으로 동일하다. 각 행의 합은 integer 범위를 넘어가지 않는다. 동일한 최댓값이 있을 경우, 하나의 값만 출력한다. [입력] 각 테스트 케이스의 첫 줄에는 테스트 케이스 번호가 주어지고 그 다음 줄부터는 2차원 배열의 각 행 값이 주어진다. [출력] #부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스의 답을 출력한다. [풀이] 단순한 구현 문제로, 규칙을 찾는다면 어렵지 않은 문제였다. 행, 열, 대각선 ..

알고리즘/SWEA 2023.11.08

[SWEA] 1208: Flatten (Python)

[문제] 한 쪽 벽면에 다음과 같이 노란색 상자들이 쌓여 있다. 높은 곳의 상자를 낮은 곳에 옮기는 방식으로 최고점과 최저점의 간격을 줄이는 작업을 평탄화라고 한다. 평탄화를 모두 수행하고 나면, 가장 높은 곳과 가장 낮은 곳의 차이가 최대 1 이내가 된다. 평탄화 작업을 위해서 상자를 옮기는 작업 횟수에 제한이 걸려있을 때, 제한된 횟수만큼 옮기는 작업을 한 후 최고점과 최저점의 차이를 반환하는 프로그램을 작성하시오. 가장 높은 곳에 있는 상자를 가장 낮은 곳으로 옮기는 작업을 덤프라고 정의한다. 위의 예시에서 제1회 덤프를 수행한 이후 화면은 다음과 같다. A부분의 상자를 가장 낮은 B부분에 덤프하였으며, A대신 A’부분의 상자를 사용해도 무방하다. 다음은 제2회 덤프를 수행한 이후의 화면이다. A’..

알고리즘/SWEA 2023.11.08