매일 Algorithm

신재원·2023년 2월 12일
0

Algorithm

목록 보기
35/243

백준 2738번 (2차원 배열)

import java.util.Scanner;

public class exam9 {
    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        int b = in.nextInt();
        int [][] array = new int[a][b];
        int size = 2;
        // 유저의 입력값이 2개 임으로 size 2로 설정
        for (int i = 0; i < size; i++) {
            for (int j = 0; j < a; j++) {
                for (int k = 0; k < b; k++) {
             	 // 배열 칸수에 맞게 더해준다. size가 2임으로 2번째 반복이 될때 
        		 //자리에 맞춰 더해진다
                    array[j][k] += in.nextInt();
                }
            }
        }

        for (int i = 0; i < a; i++) {
            for (int j = 0; j < b; j++) {
                System.out.print(array[i][j] + " ");
            }
            System.out.println();
        }

    }
}

백준 2566번 (2차원 배열)

import java.util.Scanner;

public class problem63 {
    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        int[][] array = new int[9][9];

        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array.length; j++) {
                array[i][j] = in.nextInt();
            }
        }

        int max = 0;
        int row = 0;
        int column = 0;

        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array.length; j++) {
                //  9 X 9 배열중 max값 설정
                if (max < array[i][j]) {
                    max = array[i][j];
                    row = i;
                    column = j;
                }
            }
        }

        System.out.println(max);

        // +1 해주는 이유는 배열은 0번째 index부터 시작하기떄문
        System.out.println((row + 1) + " " + (column + 1));
    }
}

백준 2563번 (2차원 배열)

import java.util.Scanner;

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

        int size = in.nextInt();
        int[][] array = new int[100][100];

        for (int i = 0; i < size; i++) {
            int x = in.nextInt();
            int y = in.nextInt();

            // 색종이의 크기만큼 배열에 1을 담아준다.
            for (int j = y; j < y + 10; j++) {
                for (int k = x; k < x + 10; k++) {
                    array[j][k] = 1;
                }

            }
        }
        int count = 0;
        for (int i = 0; i < 100; i++) {
            for (int j = 0; j < 100; j++) {
                if (array[i][j] == 1) {
                    count++;
                }
            }
        }
        System.out.println(count);
    }
}

백준 2751번 (정렬)

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

public class problem66 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 간단한 정렬 문제이지만, 
        int size = in.nextInt();
        
        // 출력 시간을 줄이기위해 List 구현
        List<Integer> list = new ArrayList<>();
        
        // 마찬가지로 출력시간을 줄이기 위해 StringBuilder 구현
        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < size; i++) {
            list.add(in.nextInt());

        }
        Collections.sort(list);

        for (Integer integer : list) {
            sb.append(integer).append("\n");
        }
        System.out.println(sb);

    }
}

백준 1427번 (정렬)


import java.util.*;

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

        String input = in.nextLine();
        char [] inputChar = input.toCharArray();

        // 오름차순
        Arrays.sort(inputChar);

        // 오름차순이 된 배열에서 뒷 부분부터 꺼냄으로써 내림차순이 된다.
        for (int i = inputChar.length - 1 ; i >= 0 ; i--) {
            System.out.print(inputChar[i]);
        }

    }
}

0개의 댓글