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

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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