SSAFY/SWEA

[SWEA] 5789 : 현주의 상자 바꾸기

믕비 2023. 5. 20. 14:28
반응형

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AWYygN36Qn8DFAVm&categoryId=AWYygN36Qn8DFAVm&categoryType=CODE&problemTitle=&orderBy=RECOMMEND_COUNT&selectCodeLang=JAVA&select-1=3&pageSize=10&pageIndex=4 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

배열을 [N + 1]로 선언한 후 주어진 범위를 모두 현재 실행 중인 횟수로 바꿔준다.

 

내 코드

메모리 : 49512 KB

시간 : 195 ms

코드 길이 : 1133 B

 

[내 코드]

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Solution {
	static int N, Q;
	static int[] box;

	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		StringTokenizer st;
		
		int T = Integer.parseInt(br.readLine());
		for(int t = 1; t <= T; t++) {
			sb.append('#').append(t).append(' ');
			st = new StringTokenizer(br.readLine());
			N = Integer.parseInt(st.nextToken());
			Q = Integer.parseInt(st.nextToken());
			box = new int[N + 1];
			
			for(int i = 1; i <= Q; i++) {
				st = new StringTokenizer(br.readLine());
				int L = Integer.parseInt(st.nextToken());
				int R = Integer.parseInt(st.nextToken());
				changeNum(L, R, i);
			}
			
			for(int i = 1; i <= N; i++) {
				sb.append(box[i]).append(' ');
			}
			sb.append('\n');
		}
		System.out.print(sb);
	}
	
	static void changeNum(int num1, int num2, int changeNum) {
		for(int i = num1; i <= num2; i++) {
			box[i] = changeNum;
		}
		return;
	}
}
반응형

'SSAFY > SWEA' 카테고리의 다른 글

[SWEA] 4299 : 태혁이의 사랑은 타이밍  (0) 2023.05.20
[SWEA] 7510 : 상원이의 연속 합  (0) 2023.05.20
[SWEA] 3307 : 최장 증가 부분 수열  (0) 2023.05.15
[SWEA] 13038 : 교환학생  (1) 2023.05.13
[SWEA] 14178 : 1차원 정원  (0) 2023.05.13