Java Challenge - 5

CYSSSSSSSSS·2024년 3월 17일

자바 챌린지

목록 보기
5/11

Java Challenge

문자열

백준 27866

  • 단어 S와 정수 i가 주어질때 S의 i번째 글자를 출력하는 프로그램을 작성하시오
package 문자열;

import java.util.Scanner;

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

        String s = scanner.nextLine();
        int i = scanner.nextInt();

        System.out.println(s.charAt(i-1));
    }
}

백준 2743

  • 알파벳으로만 이루어진 단어를 입력받아.그 길이를 출력하는 프로그램을 작성하시오.
package 문자열;

import java.util.Scanner;

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

        String s = scanner.nextLine();

        System.out.println(s.length());
    }
}

백준 9086

  • 문자열을 입력으로 주면 문자열의 첫 글자와 마지막 글자를 출력하는 프로그램을 작성하시오.
package 문자열;

import java.util.Scanner;

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

        int count = scanner.nextInt();
        String s;

        for(int i = 0; i < count; i++){
            s = scanner.next();
            System.out.print(s.charAt(0));
            System.out.print(s.charAt(s.length()-1));
            System.out.println();
        }
    }
}

백준 11720

  • N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
package 문자열;

import java.util.Scanner;

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

        int answer = 0;

        int count = scanner.nextInt();

        String s = scanner.next();
        String[]sp = s.split("");

        for(String a:sp){
            answer += (Integer.parseInt(a));
        }
        System.out.println(answer);
    }
}

백준 10809

  • 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.
package 문자열;

import java.util.Arrays;
import java.util.Scanner;

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

        int [] arrs = new int[26];

        Arrays.fill(arrs, -1);

        String s = scanner.nextLine();

        String []sp = s.split("");

        // 97
        for(int i = 0; i<sp.length;i++){
            int idx = ((int)s.charAt(i)) % 97;
            if (arrs[idx] == -1){
                arrs[idx] = i;
            }
        }
        for(int i = 0; i<arrs.length;i++){
            System.out.print(arrs[i]+" ");
        }

    }
}

백준 2675

  • 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오.
package 문자열;

import java.util.Scanner;

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

        int count = scanner.nextInt();

        for(int i = 0;i<count;i++){
            int num = scanner.nextInt();
            String s = scanner.next();
            StringBuilder sb = new StringBuilder();
            String[]sp = s.split("");
            for(String a :sp){
                for(int j = 0; j<num;j++){
                    sb.append(a);
                }
            }
            System.out.println(sb);
        }
    }
}

백준 1152

  • 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.
import java.util.Scanner;
import java.util.StringTokenizer;

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

        String s = scanner.nextLine();

        StringTokenizer st = new StringTokenizer(s , " ");

        System.out.println(st.countTokens());
    }
}
  • Split 보다 StringTokenizer를 이용해서 토큰의 개수를 세야한다.

백준 2908

  • 두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.
package 문자열;

import java.util.Scanner;

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

        StringBuilder a = new StringBuilder(scanner.next());
        StringBuilder b = new StringBuilder(scanner.next());

        a.reverse();
        b.reverse();

        int a_int = Integer.parseInt(String.valueOf(a));
        int b_int = Integer.parseInt(String.valueOf(b));

        if(a_int > b_int){
            System.out.println(a_int);
        }else {
            System.out.println(b_int);
        }

    }
}

백준 5622

  • 할머니가 외운 단어가 주어졌을 때, 이 전화를 걸기 위해서 필요한 최소 시간을 구하는 프로그램을 작성하시오.
package 문자열;

import java.util.Scanner;

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


        String s = scanner.nextLine();
        int answer = 0;
        for(int i =0; i<s.length();i++){
            char a = s.charAt(i);

            if(65 <= (int)a && (int)a <=67){
                answer += 3;
            } else if (68 <= (int)a && (int)a <=70) {
                answer += 4;
            } else if (71 <= (int)a && (int)a <=73) {
                answer += 5;
            } else if (74 <= (int)a && (int)a <=76) {
                answer += 6;
            } else if (77 <= (int)a && (int)a <=79) {
                answer += 7;
            } else if (80 <= (int)a && (int)a <=83) {
                answer += 8;
            } else if (84 <= (int)a && (int)a <=86) {
                answer += 9;
            } else if (87 <= (int)a && (int)a <=90) {
                answer += 10;
            }
        }

        System.out.println(answer);
    }
}

백준 11718

  • 입력 받은 대로 출력하는 프로그램을 작성하시오.
package 문자열;

import java.util.Scanner;

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

        while (scanner.hasNext()){
            String s = scanner.nextLine();
            System.out.println(s);
        }
    }
}
profile
개발자 되고 싶어요

0개의 댓글