본문 바로가기

Backend/JAVA

[Algorithm] 데일리 백준

반응형
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;

public class Main {

  public static void main(String[] args) throws Exception {

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    StringBuilder sb = new StringBuilder();

    // 10810
    String[] result = br.readLine().split(" ");

    int basket = Integer.parseInt(result[0]);
    int rowNum = Integer.parseInt(result[1]);

    // 바구니 생성
    int[] ballCount = new int[basket];

    // 조작 횟수
    for(int i = 0; i < rowNum ; i++ ){
      // 인덱스와 공 번호
      String[] test = br.readLine().split(" ");
      int a = Integer.parseInt(test[0]);
      int b = Integer.parseInt(test[1]);
      int c = Integer.parseInt(test[2]);

      // 공 넣기
      for(int index = a-1 ; index <= (b-1) ; index++){
        ballCount[index] = c;
      }
    }
    // 결과
    for(int i = 0 ; i < basket ; i++){
      sb.append(ballCount[i] + " ");
    }

    System.out.println(sb);
  }
}

 

이 문제는 이해하는데만... 얼마나 걸린건지...

풀고나니 생각보다 단순하다

바구니 수 만큼 배열을 만들고 조작 회수만큼 반복해서 공을 넣는 작업을 해주면 된다. 생각이 너무 많았나....

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;

public class Main {

  public static void main(String[] args) throws Exception {

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    StringBuilder sb = new StringBuilder();

    // 10813
//    String[] result = br.readLine().split(" ");
//
//    int basket = Integer.parseInt(result[0]);
//    int rowNum = Integer.parseInt(result[1]);
//
//    // 바구니 생성
//    int[] ballCount = new int[basket];
//    for(int i = 0; i < basket ; i++ ) {
//      ballCount[i] = i+1;
//    }
//
//    // 공 바꾸기 수행
//    for(int i = 0; i < rowNum ; i++ ) {
//      String[] changeBall = br.readLine().split(" ");
//      // 교환 처리
////      for(int j = 0 ; j < basket ; j++) {
////        int temp = 0;
////        if(ballCount[j] == Integer.parseInt(changeBall[0])){
////          temp = Integer.parseInt(changeBall[0]);
////          for(int k = 0 ; j < basket; k++){
////            if(ballCount[k] == Integer.parseInt(changeBall[1])){
////              ballCount[k] = 0;
////              ballCount[j] = Integer.parseInt(changeBall[1]);
////            }
////          }
////        }
////      }
//      int temp = ballCount[Integer.parseInt(changeBall[0])-1];
//      ballCount[Integer.parseInt(changeBall[0])-1] = ballCount[Integer.parseInt(changeBall[1])-1];
//      ballCount[Integer.parseInt(changeBall[1])-1] = temp;
//    }
//    for(int i = 0; i < basket ; i++ ) {
//      sb.append(ballCount[i] + " ");
//    }
//    System.out.println(sb);

    // 5597
    int size = 30;
    // 학생 수만큼 학생부 생성
    int[] studentList = new int[size];
    for(int i = 0 ; i < size-2 ; i++){
      String student = br.readLine();
      // 냈으면 1 안냈으면 0
      studentList[Integer.parseInt(student)-1] = 1;
    }

    for(int i = 0 ; i < size ; i++){
      if(studentList[i] == 0){
        // 0인 값들만 추려서 출력
        sb.append((i+1)+ "\n");
      }
    }
    System.out.println(sb);

  }
}
반응형

'Backend > JAVA' 카테고리의 다른 글

[Algorithm] 데일리 백준  (0) 2024.05.03
[Algorithm] 데일리 백준  (0) 2024.04.30
[Algorithm] 데일리 백준  (0) 2024.04.26
[Algorithm] 데일리 백준  (0) 2024.04.24
[Algorithm] 데일리 백준  (0) 2024.04.12