https://www.acmicpc.net/problem/20207
https://eboong.tistory.com/322
로직은 위에 나와있는 링크와 똑같이 풀었다!
언어만 자바로 바뀌어있을 뿐.
package day_0814;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class n20207 {
static int[] cal;
public static void main(String[] args) throws IOException {
BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
int n= Integer.parseInt(br.readLine()); // 일정의 개수
cal=new int[366];
// 시작일, 종료일 입력받기 (일정)
for (int i = 0; i < n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int start=Integer.parseInt(st.nextToken());
int end=Integer.parseInt(st.nextToken());
for (int j = start; j <=end; j++) {
cal[j]+=1; // 코팅지 높이 저장
}
}
int answer=0; // 코팅지 최종 면적
int width=0; // 코팅지 가로 길이
int height=0; // 코팅지 세로 길이
for (int i = 1; i < cal.length; i++) {
if(cal[i]==0) {
if (width>0) {
answer+=width*height;
}
width=0; height=0;
}else {
width+=1;
height=Math.max(height, cal[i]);
}
}
if(width>0) answer+=width*height;
System.out.print(answer);
}
}
'여니의 취준 준비 > 코딩테스트 (Java)' 카테고리의 다른 글
[*5644*] 무선 충전 in Java (Feat. SWEA) (0) | 2022.08.17 |
---|---|
[*1828*] 냉장고 in Java (feat. 정올, Comparator, Comparable 차이 및 설명) (0) | 2022.08.16 |
[17471] 게리맨더링 in Java (0) | 2022.08.14 |
[17281]⚾ in Java (0) | 2022.08.12 |
[4012] 요리사 in Java (0) | 2022.08.12 |