[백준] 10810번: 공 넣기 - JAVA

2024. 9. 16. 02:44·알고리즘

[작성일: 2023. 08. 24]

 

https://www.acmicpc.net/problem/10810

 

 

풀이

import java.io.*;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); // 바구니의 갯수
int m = sc.nextInt(); // 공을 넣을 횟수
int[] basket = new int[n];
for (int i = 0; i < m; i++) {
int start = sc.nextInt(); // 시작 바구니
int end = sc.nextInt(); // 끝 바구니
int num = sc.nextInt(); // 몇 번 공인지?
for (int j = start-1; j < end; j++) {
basket[j] = num;
}
}
for (int k = 0; k < n; k++) {
System.out.print(basket[k]+" ");
}
}
}

 

이 문제는 문제 자체도 이해하기가 어려웠다. 

첫 줄에 바구니의 갯수와 공을 넣을 횟수를 입력받는 것까지는 어렵지 않은데 그 후를 이해하는데 한참 걸렸던 거 같다.

 

시작바구니를 start, 끝 바구니를 end, 몇 번 공을 넣을 건지를 num으로 입력받는다.

1, 2, 3을 입력받았다면 1번 바구니부터 2번 바구니까지 3번이 적혀있는 공을 넣는 것이다.

그렇게 되면 현재 바구니에는 3 3 0 0 0 이런 식으로 공이 들어가있게 된다.

 

그 후 예제처럼 쭉 진행해보자.

 

3, 4, 4를 입력받게 되면 3번 바구니부터 4번 바구니까지 4번 공을 넣는다. [ 3 3 4 4 0 ]

1, 4, 1을 입력받게 되면 1번 바구니부터 4번 바구니까지 1번 공을 넣는다. 문제에서 이미 공이 들어가 있는 바구니라면 들어있는 공을 빼고 새 공을 넣는다고 했으니 바구니 상태는 [ 1 1 1 1 0 ] 이 된다.

마지막으로 2, 2, 2를 입력받으면 2번 바구니에만 2번 공을 넣으면 되기 때문에 최종 바구니는 [ 1 2 1 1 0 ] 이 된다. 

 

반복문을 만들 때 시작은 j = start - 1로 해주었다. 배열은 0번부터 시작하는데 바구니는 1번부터 시작하기 때문에 배열의 index에 맞추기 위해 1을 빼준 것이다. start가 1일 경우 배열에서는 0번 인덱스에 해당되어야 한다.

 

저작자표시 비영리 변경금지
'알고리즘' 카테고리의 다른 글
  • [백준] 10811번: 바구니 뒤집기 - JAVA
  • [백준] 10813번: 공 바꾸기 - JAVA
  • [백준] 10951번: A+B(4) - JAVA
  • [백준] 2439번: 별 찍기(2) - JAVA
뚜비
뚜비
1년차 백엔드&iOS 개발자의 감자 탈출 블로그 🥔🥔
  • 뚜비
    뚜비의 개발로그
    뚜비
  • 전체
    오늘
    어제
  • 글쓰기     관리
    • Devlog
      • Back-End
        • Java
        • Spring
        • JPA
        • HTTP
        • Security
        • Back-End
        • Front-End
      • 알고리즘
      • iOS
        • Swift
      • Database
      • Tips
        • Git & GitHub
        • A to Z
      • 프로젝트
      • 생각정리
  • 태그

    HTTP
    JPA
    데이터베이스
    DB
    sql
    자바
    spring
    다형성
    Database
    Security
    성능최적화
    스프링
    객체
    의존성주입
    최주호
    게시판만들기
    백준
    알고리즘
    Swift
    프로그래머스
    변수
    김영한
    html
    Java
    Spring Security
    jsp
    생성자
    자바스크립트
    MVC
    javascript
  • hELLO· Designed By정상우.v4.10.0
뚜비
[백준] 10810번: 공 넣기 - JAVA
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.