반응형
https://www.acmicpc.net/problem/10810
- 문제
- 문제 풀이
백준 10810번 공 넣기는 브론즈 3 난이도의 구현 및 시뮬레이션 문제이다.
이 문제에서는 1번부터 N번까지 번호가 적혀 있는 바구니가 주어지고 각각 바구니에는 공을 1개씩만 넣을 수 있다. 그리고, M개 줄에 걸쳐 정수 i j k가 주어진다. 이때, k가 적혀 있는 공을 i번 바구니부터 j번 바구니까지 넣으면 된다.
이때, 공을 다 넣었으면 각각 바구니에 몇 번이 쓰여있는 공이 있는지를 출력하면 된다.
우선 사이즈가 N+1인 배열을 만들고 인덱스 i는 i번째 바구니를 뜻한다. 사이즈를 N+1로 한 이유는 인덱스 i가 i번째 바구니를 뜻하기를 의도해서 그렇다. 이 이유는 인덱스는 0에서부터 시작하기 때문이다.
그리고 StringTokenizer를 이용해서 i, j, k를 입력받는다. 그리고 for-loop을 이용해서 arr [i]부터 arr [j]를 k로 설정해 주면 된다.
자세한 코드는 아래에 있는 코드를 참고하면 되겠다.
- 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int[] arr = new int[n+1];
for (int o = 1; o <= m; o++) {
st = new StringTokenizer(br.readLine());
int i = Integer.parseInt(st.nextToken());
int j = Integer.parseInt(st.nextToken());
int k = Integer.parseInt(st.nextToken());
for (int x = i; x <= j; x++) {
arr[x] = k;
}
}
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= n; i++) {
sb.append(arr[i] + " ");
}
System.out.println(sb);
}
}
반응형
'백준' 카테고리의 다른 글
[백준] 1654번 : 랜선 자르기 – JAVA [자바] (0) | 2023.08.07 |
---|---|
[백준] 10813번 : 공 바꾸기 – JAVA [자바] (0) | 2023.08.07 |
[백준] 2566번 : 최댓값 – JAVA [자바] (0) | 2023.08.07 |
[백준] 25314번 : 코딩은 체육과목 입니다 – JAVA [자바] (0) | 2023.08.04 |
[백준] 1747번 : 소수&팰린드롬 – JAVA [자바] (2) | 2023.08.03 |
댓글