매일 Algorithm

신재원·2023년 4월 1일
0

Algorithm

목록 보기
82/243

백준 2605번 (구현)

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class problem258 {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int size = in.nextInt();
        List<Integer> list = new ArrayList<>();

        for (int i = 0; i < size; i++) {

            int input = in.nextInt();
            if (input == 0) {
                list.add(i + 1); // 0이 입력값일 경우 그 자리에 서있는다.
            } else {
            	// list 인덱스에 값을 바인딩
                list.add(list.size() - input, i + 1); 
            }
        }
        for (int result : list) {
            System.out.print(result + " ");
        }
    }
}

백준 10811번 (구현)

import java.util.Scanner;

public class problem259 {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int input = in.nextInt();
        int[] result = new int[input + 1];
        for (int i = 1; i <= input; i++) {
            result[i] = i;
        }

        int size = in.nextInt();
        for (int i = 0; i < size; i++) {
            int n = in.nextInt();
            int m = in.nextInt();
            while (n < m) {
                int temp = result[m];
                result[m] = result[n]; // 값 스왑
                result[n] = temp;
                // 탈출 조건
                n++;
                m--;
            }
        }
        for (int i = 1; i <= input; i++) {
            System.out.print(result[i] + " ");
        }
    }
}

백준 2669번 (구현)

import java.util.Scanner;

public class problem260 {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        // 쉬운 구현문제다.
        int count = 0;
        int[][] arr = new int[101][101]; // 배열 크기 초기화
        for (int i = 0; i < 4; i++) {
            int x1 = in.nextInt();
            int y1 = in.nextInt();
            int x2 = in.nextInt();
            int y2 = in.nextInt();

            for (int j = x1; j < x2; j++) {
                for (int k = y1; k < y2; k++) {
                    arr[j][k] = 1; // 1로 초기화
                }
            }
        }
        for (int i = 0; i < 101; i++) {
            for (int j = 0; j < 101; j++) {
                if (arr[i][j] == 1) {
                    count++;
                }
            }
        }
        System.out.print(count);
    }
}

백준 10214번 (구현)

import java.util.Scanner;

public class problem261 {

    public static void main(String[] args) {
        // 간단한 구현문제다.
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int[] n = new int[9];
        int[] m = new int[9];
        for (int i = 0; i < num; i++) {
            int yon = 0;
            int kor = 0;
            for (int j = 0; j < 9; j++) {
                n[j] = sc.nextInt();
                yon += n[j];
                m[j] = sc.nextInt();
                kor += m[j];
            }
            if (yon > kor)
                System.out.println("Yonsei");
            else if (kor > yon)
                System.out.println("Korea");
            else
                System.out.println("Draw");
        }
    }
}

0개의 댓글