본문 바로가기

CT

[BOJ] 5단계 문자열

1 27866 문자와 문자열
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String str = reader.readLine();
        int i = Integer.parseInt(reader.readLine());
        System.out.print(str.charAt(i-1));
    }
}

 

2 2743 단어 길이 재기
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String str = reader.readLine();
        System.out.print(str.length());
    }
}

 

3 9086 문자열
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int cnt = Integer.parseInt(reader.readLine());
        StringBuilder sb = new StringBuilder();
        for(int i = 0; i < cnt; i++) {
            String str = reader.readLine();
            sb.append(str.charAt(0)).append(str.charAt(str.length()-1)).append("\n");
        }
        System.out.print(sb);
    }
}

 

4 11654 아스키 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int ascii = reader.readLine().charAt(0);
        System.out.print(ascii);;
    }
}

 

5 11720 숫자의 합
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(reader.readLine());
        String[] str = reader.readLine().split("");
        int sum = 0;
        for(String s: str){
            sum += Integer.parseInt(s);
        }
        System.out.print(sum);
    }
}

 

6 10809 알파벳 찾기
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String str = reader.readLine();
        StringBuilder sb = new StringBuilder();
        for(char c = 'a'; c <= 'z'; c++) {
            sb.append(str.indexOf(c)).append(" ");
        }
        System.out.print(sb);
    }
}

 

7 2675 문자열 반복
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(reader.readLine());
        StringBuilder sb = new StringBuilder();
        for(int i = 0; i < n; i++) {
            StringTokenizer tokenizer = new StringTokenizer(reader.readLine());
            int cnt = Integer.parseInt(tokenizer.nextToken());
            String[] split = tokenizer.nextToken().split("");
            for(String s : split) {
                for(int j = 0; j < cnt; j++) {
                    sb.append(s);
                }
            }
            sb.append("\n");
        }
        System.out.print(sb);
    }
}

 

8 1152 단어의 개수
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer tokenizer = new StringTokenizer(reader.readLine());
        System.out.println(tokenizer.countTokens());
    }
}

*StringTokenizer의 default 분리 값 공백

*문자열 앞뒤에 공백이 있어도 별 다른 예외처리 없이 사용 가능

 

9 2908 상수
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer tokenizer = new StringTokenizer(reader.readLine());
        String a = tokenizer.nextToken();
        String b = tokenizer.nextToken();
        StringBuffer sb = new StringBuffer(a);
        int numA = Integer.parseInt(sb.reverse().toString());
        sb = new StringBuffer(b);
        int numB = Integer.parseInt(sb.reverse().toString());
        if(numA > numB){
            System.out.println(numA);
        } else {
            System.out.println(numB);
        }
    }
}

 

10 5622 다이얼
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String str = reader.readLine();
        Map<Character, Integer> dialMap = new HashMap();
        for(char c = 'A'; c <= 'Z'; c++) {
            switch (c) {
                case 'A': case 'B': case 'C':
                    dialMap.put(c, 3);
                    break;
                case 'D': case 'E': case 'F':
                    dialMap.put(c, 4);
                    break;
                case 'G': case 'H': case 'I':
                    dialMap.put(c, 5);
                    break;
                case 'J': case 'K': case 'L':
                    dialMap.put(c, 6);
                    break;
                case 'M': case 'N': case 'O':
                    dialMap.put(c, 7);
                    break;
                case 'P': case 'Q': case 'R': case 'S':
                    dialMap.put(c, 8);
                    break;
                case 'T': case 'U': case 'V':
                    dialMap.put(c, 9);
                    break;
                case 'W': case 'X': case 'Y':  case 'Z':
                    dialMap.put(c, 10);
                    break;
            }
        }

        int result = 0;
        for(int i = 0; i < str.length(); i++) {
            result += dialMap.get(str.charAt(i));
        }
        System.out.println(result);
    }
}

 

11 11718 그대로 출력하기
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String str;
        while((str = reader.readLine()) != null) {
            System.out.println(str);
        }
    }
}

'CT' 카테고리의 다른 글

[BOJ] 7단계 2차원 배열  (0) 2023.04.03
[BOJ] 6단계 심화  (0) 2023.04.03
[BOJ] 5단계 함수  (0) 2023.01.25
[BOJ] 4단계 1차원 배열  (0) 2023.01.25
[BOJ] 3단계 반복문  (0) 2023.01.23