728x90
https://www.acmicpc.net/problem/10810
📝 나의풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();//바구니 범위
int M = scanner.nextInt();//공을 넣을 횟수
int[] NArr = new int [N]; //배열
for(int i=0; i<M; i++) {
int I = scanner.nextInt(); //시작할 바구니
int J = scanner.nextInt(); //종료할 바구니
int K = scanner.nextInt(); //공번호
for(int j=I-1; j<J; j++) {
NArr[j]=K;
}
}
for(int k=0; k<NArr.length;k++) {
System.out.print(NArr[k]+" ");
}
}
}
- 예제 입력 1번을 예로 드는 경우
5개의 바구니가 있고, 4줄의 입력을 받는다.
첫 번째 입력 받았을 때에는 1번 바구니에서 2번 바구니까지 3번 공을 넣고
두 번째 입력 받았을 때에는 3번 바구니에서 4번 바구니까지 4번 공을 넣는다.
세 번째 입력 받았을 때에는 1번 바구니에서 4번 바구니까지 1번 공을 넣는다.
네 번째 입력 받았을 때에는 2번 바구니에서 2번 바구니까지 2번 공을 넣은 뒤,
배열을 출력하는 형식이다.
- 바구니에 공이 이미 있는 경우에는 들어 있는 공을 빼고 새로 공을 넣으면 되니,
배열에서는 새로 들어온 값을 덮어씌워버리면 된다.
- 바구니, 공을 넣을 횟수, 배열을 선언 해 준 다음
M번만큼 I(시작할 바구니), J(종료할 바구니), K(공 번호)를 입력 받을 수 있도록 for문을 만들어 준다.
시작할 바구니, 종료할바구니를 이용하여 for문을 만들어준다.
이 때 for문에서는 시작할 바구니-1을 해 준다. - 👉 배열은 0부터 시작하기 때문에 for문은 아래와 같이 작성된다.
for (int j- 시작할바구니 -1 ; j<종료할바구니 ; j+ {}
- 마지막으로 배열 전체를 출력하면 된다.
728x90
'코딩테스트 > [JAVA] 백준' 카테고리의 다른 글
[백준 | 2745번] 진법 변환 (0) | 2023.08.10 |
---|---|
[백준 | 10811번] 바구니 뒤집기 (0) | 2023.08.10 |
[백준 | 5086번] 배수와 약수 (0) | 2023.08.10 |
[백준 | 2743번] 단어 길이 재기 (0) | 2023.08.10 |
[백준 | 9086번] 문자열 (0) | 2023.08.10 |