매일 Algorithm

신재원·2023년 2월 9일
0

Algorithm

목록 보기
32/243

백준 11720번 (문자열)

import java.util.Scanner;
public class problem46 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int size = in.nextInt();

        // 한줄에 다 입력받기 위해 String으로 선언
        String inputNumber = in.next();
        int total = 0;

        for (int i = 0; i < size; i++) {
            // charAt은 아스키 코드값을 반환하므로 '0'인 48을 빼준다.
            total += inputNumber.charAt(i) - 48;
        }


        System.out.println(total);

    }
}

백준 2941번 (문자열)

/**
 * if (i <= inputString.length() - 1) {}을 조건문 마다 해준이유는
 * aedzdz=ls=c 값이 입력되었을경우 문자열의 끝인 'c'는 조건문에 빨려들어감으로, index예외가 반환된다.
 * 그럼으로 inputString.length() - 1 보다 작은 index부터 시작하여한다 (charAt 은 기본값이 index 반환)
 */

import java.util.Scanner;

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

        String inputString = in.nextLine();
        int count = 0;

        for (int i = 0; i < inputString.length(); i++) {
            char ch = inputString.charAt(i);

            // 만약 char가 'c' 라면
            if (ch == 'c') {
                if (i < inputString.length() - 1) {
                    if (inputString.charAt(i + 1) == '=') {

                        // "c=" 문자를 한개의 문자로 보기떄문에 i++를해줘야된다.
                        i++;
                    } else if (inputString.charAt(i + 1) == '-') {
                        // "c-"도 마찬가지이다.
                        i++;
                    }
                }
            } else if (ch == 'd') {
                if (i < inputString.length() - 1) {
                    if (inputString.charAt(i + 1) == 'z') {
                        if (i < inputString.length() - 2) {
                            // "dz="를 한문자로 보는경우
                            if (inputString.charAt(i + 2) == '=') {
                                i += 2;
                            }
                        }
                    }
                    // "d-"일경우
                    else if (inputString.charAt(i + 1) == '-') {
                        i++;
                    }

                }
            }
            // "lj" 일경우
            else if (ch == 'l') {
                if (i < inputString.length() - 1) {
                    if (inputString.charAt(i + 1) == 'j') {
                        i++;
                    }
                }
            }
            // "nj" 일경우
            else if (ch == 'n') {
                if (i < inputString.length() - 1) {
                    if (inputString.charAt(i + 1) == 'j') {
                        i++;
                    }
                }
            }
            // "s=" 일경우
            else if (ch == 's') {
                if (i < inputString.length() - 1) {
                    if (inputString.charAt(i + 1) == '=') {
                        i++;
                    }
                }
            }
            // "z=" 일경우
            else if (ch == 'z') {
                if (i < inputString.length() - 1) {
                    if (inputString.charAt(i + 1) == '=') {
                        i++;
                    }
                }
            }


            count++;
        }
        System.out.println(count);
    }
}

백준 3003번 (입출력)

import java.util.Scanner;

public class problem48 {
    // 1 1 2 2 2 8
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        // 기존 체스의 갯수를 담아준다.
        int[] answer = {1, 1, 2, 2, 2, 8};

        int[] userArray = new int[6];
        int[] result = new int[6];

        // 유저의 배열값을 입력받는다
        for (int i = 0; i < userArray.length; i++) {
            userArray[i] = in.nextInt();
        }
        for (int i = 0; i < answer.length; i++) {
            result[i] =  answer[i] - userArray[i];
        }

        for (int i : result) {
            System.out.print(i + "\t");
        }


    }
}

백준 10430 (입출력)

import java.util.Scanner;

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

        // 간단한 입출력 문제다.
        Scanner in = new Scanner(System.in);

        int a = in.nextInt();
        int b = in.nextInt();
        int c = in.nextInt();
        System.out.println((a + b) % c);
        System.out.println(((a % c) + (b % c)) % c);
        System.out.println((a * b) % c);
        System.out.println(((a % c) * (b % c)) % c);


    }
}

백준 2588번 (입출력)

import java.util.Scanner;

public class problem50 {
    public static void main(String[] args) {
        // 간단한 입출력 문제다.
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        int b = in.nextInt();

        System.out.println(a * (b % 10));
        System.out.println(a * (b % 100 / 10));
        System.out.println(a * (b / 100));
        System.out.println(a * b);


    }
}

백준 2753번 (조건문)


public class problem51 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
        // 간단한 조건문 문제이다.

        int year = in.nextInt();
        // 4의 배수이면서,
        //              100의 배수가아니면서, 400의 배수일경우
        if(year % 4 == 0){
            if(year % 100 != 0 || year % 400 == 0){
                System.out.println(1);
            }
            else{
                System.out.println(0);
            }
        }else{
            System.out.println(0);
        }


    }
}

0개의 댓글