본문 바로가기

Develop/Python + SWEA96

[SW Expert Academy] 4836. 색칠하기 4836. 색칠하기 문제) 그림과 같이 인덱스가 있는 10x10 격자에 빨간색과 파란색을 칠하려고 한다. N개의 영역에 대해 왼쪽 위와 오른쪽 아래 모서리 인덱스, 칠할 색상이 주어질 때, 칠이 끝난 후 색이 겹쳐 보라색이 된 칸 수를 구하는 프로그램을 만드시오. 주어진 정보에서 같은 색인 영역은 겹치지 않는다. 예를 들어 2개의 색칠 영역을 갖는 위 그림에 대한 색칠 정보이다. 2 2 2 4 4 1 ( [2,2] 부터 [4,4] 까지 color 1 (빨강) 으로 칠한다 ) 3 3 6 6 2 ( [3,3] 부터 [6,6] 까지 color 2 (파랑) 으로 칠한다 ) [입력] 첫 줄에 테스트 케이스 개수 T가 주어진다. ( 1 ≤ T ≤ 50 ) 다음 줄부터 테스트케이스의 첫 줄에 칠할 영역의 개수 N이 .. 2022. 2. 16.
[SW Expert Academy] 1954. 달팽이 숫자 1954. 달팽이 숫자 문제) 달팽이는 1부터 N*N까지의 숫자가 시계방향으로 이루어져 있다. 다음과 같이 정수 N을 입력 받아 N크기의 달팽이를 출력하시오. N이 3일 경우, N이 4일 경우, [제약사항] 달팽이의 크기 N은 1 이상 10 이하의 정수이다. (1 ≤ N ≤ 10) [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스에는 N이 주어진다. [출력] 각 줄은 '#t'로 시작하고, 다음 줄부터 빈칸을 사이에 두고 달팽이 숫자를 출력한다. (t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.) 풀이) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2.. 2022. 2. 14.
[SW Expert Academy] 6485. 삼성시의 버스 노선 6485. 삼성시의 버스 노선 문제) 삼성시에 있는 5,000개의 버스 정류장은 관리의 편의를 위해 1에서 5,000까지 번호가 붙어 있다. 그리고 버스 노선은 N개가 있는데, i번째 버스 노선은 번호가 Ai이상이고, Bi이하인 모든 정류장만을 다니는 버스 노선이다. P개의 버스 정류장에 대해 각 정류장에 몇 개의 버스 노선이 다니는지 구하는 프로그램을 작성하라. [입력] 첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 하나의 정수 N ( 1 ≤ N ≤ 500 )이 주어진다. 다음 N개의 줄의 i번째 줄에는 두 정수 Ai, Bi ( 1 ≤ Ai ≤ Bi ≤ 5,000 )가 공백 하나로 구분되어 주어진다. 다음 줄에는 하나의 정수 P ( 1 ≤ P ≤ 500 )가 주어.. 2022. 2. 10.
[SW Expert Academy] 5789. 현주의 상자 바꾸기 5789. 현주의 상자 바꾸기 문제) 현주는 1번부터 N번까지 N개의 상자를 가지고 있다. 각 상자에는 숫자를 새길 수 있는데 처음에는 모두 0으로 적혀있다. 숫자가 너무 단조로웠던 현주는 다음 Q회 동안 일정 범위의 연속한 상자를 동일한 숫자로 변경하려고 한다. 변경하는 방법은 다음과 같다. · i (1 ≤ i ≤ Q)번째 작업에 대해 L번 상자부터 R번 상자까지의 값을 i로 변경 현주가 Q회 동안 위의 작업을 순서대로 한 다음 N개의 상자에 적혀있는 값들을 순서대로 출력하는 프로그램을 작성하라. [입력] 첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 두 정수 N, Q (1 ≤ N, Q ≤ 103)가 공백으로 구분되어 주어진다. 다음 Q개의 줄의 i번째 줄에는 L.. 2022. 2. 10.