본문 바로가기

백준

백준 21918 전구 (JAVA)

문제

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

코드

package com.company;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Array;
import java.util.Arrays;
import java.util.StringTokenizer;

class Main {

    public static void main(String[] args) throws IOException {
        int N, M, arr[];
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        StringBuilder sb = new StringBuilder();
        N = Integer.parseInt(st.nextToken());
        M = Integer.parseInt(st.nextToken());
        arr = new int[N+1];
        Arrays.fill(arr, -1);

        st = new StringTokenizer(br.readLine());
        for (int i = 1; i <= N; i++) {
            arr[i] = Integer.parseInt(st.nextToken());
        }

        int cmd, a, b;
        for (int i = 0; i < M; i++) {
            st = new StringTokenizer(br.readLine());
            cmd = Integer.parseInt(st.nextToken());
            a = Integer.parseInt(st.nextToken());
            b = Integer.parseInt(st.nextToken());

            switch (cmd){
                case 1:
                    arr[a] = b;
                    break;
                case 2:
                    for (int j = a; j <= b; j++) {
                        if(arr[j] == 1)
                            arr[j] = 0;
                        else
                            arr[j] = 1;
                    }
                    break;
                case 3:
                    for (int j = a; j <= b; j++) {
                        arr[j] = 0;
                    }
                    break;
                case 4:
                    for (int j = a; j <= b; j++) {
                        arr[j] = 1;
                    }
                    break;
            }
        }

        for (int i = 1; i <= N; i++) {
            sb.append(arr[i] + " ");
        }

        System.out.println(sb.toString());
    }

}

풀이

문제에 입력값에 따라서 swtich문을 이용해 천천히 하면 된다.

'백준' 카테고리의 다른 글

백준 2578 빙고 (JAVA)  (0) 2022.07.07
백준 20546 🐜기적의 매매법🐜 (JAVA)  (0) 2022.07.05
백준 5597 과제 안 내신 분..? (JAVA)  (0) 2022.07.05
백준 20053 최소,최대2 (JAVA)  (0) 2022.07.05
백준 1212 8진수 2진수 (JAVA)  (0) 2022.07.05