티스토리 뷰

1.

- 한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램 작성

- 대소문자 구분 x

- 첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다

- 문자열은 영어 알파벳으로만 구성

 

import java.util.Scanner;

public class Main {

    public static int solution(String str, char c){
        int answer = 0;
        str = str.toUpperCase();
        c = Character.toUpperCase(c);
        System.out.println("str : " +str);
        System.out.println("c : "+ c);

        /*for(int i=0;i<str.length();i++)
            {
                if(str.charAt(i)==c) answer++;
            }*/
        for(char st : str.toCharArray()){
            if(st==c) answer++;
        }
        return answer;
    }

    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        System.out.println("===문자열 입력 후, 찾을 문자 입력===");
        String str = sc.next();
        char c = sc.next().charAt(0);
        System.out.println(solution(str, c));
    }
}

 

 

 

2.

- 대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자는 소문자로, 소문자는 대문자로 변환하여 출력하는 프로그램을 작성

- 첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않음

- 문자열은 영어 알파벳으로만 구성

import java.util.Scanner;

public class Main {


    public static String solution(String str){
        String answer="";
        for(char x : str.toCharArray()){
            if(Character.isLowerCase(x)) answer+=Character.toUpperCase(x);
            else answer+=Character.toLowerCase(x);
        }
        
        return answer;
    }

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        System.out.println("입력받은 문자열 : "+ str);

        System.out.println("=======변환중========");
        System.out.println(solution(str));
    }

}

 

 

 

3.

- 한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성

- 문장속의 각 단어는 공백으로 구분

- 첫 줄에 길이가 100을 넘지 않는 한 개의 문장이 주어지고, 문장은 영어 알파벳으로만 구성

- 첫 줄에 가장 긴 단어를 출력

- 가장 길이가 긴 단어가 여러개일 경우 문장속에서 가장 앞쪽에 위치한 단어를 출력

 

방법 1.

import java.util.Scanner;

public class Main {

    public static String solution(String str){
        String answer="";
        int minVal = Integer.MIN_VALUE;
        String[] strAry = str.split(" ");
        
        for(String x: strAry){
            if(x.length()>minVal){
                minVal = x.length();
                answer = x;
            }
        }
        return answer;
    }

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        System.out.println(solution(str));
    }

}

 

방법 2. indexOf, subsrting 사용

import java.util.Scanner;

public class Main {


    public static String solution(String str){
        String answer="";
        int minVal = Integer.MIN_VALUE, pos;
        String[] strAry = str.split(" ");

        while ((pos = str.indexOf(' '))!=-1){
            String tmp =str.substring(0,pos);
            int len =tmp.length();

            if(len>minVal){
                minVal = len;
                answer = tmp;
            }
            str = str.substring(pos+1);
        }

        ///마지막 글자 체크
        if(str.length()>minVal) answer = str;

        return answer;
    }

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        System.out.println(solution(str));
    }

}

 

'코테공부' 카테고리의 다른 글

[코테공부] Stack, Queue (1)  (0) 2023.07.10
[코테공부] HashMap, HashSet, TreeSet  (0) 2023.06.20
[코테공부] String 문자열3  (0) 2023.01.11
[코테공부] Stirng 문자열 문제 2  (0) 2023.01.07
댓글
최근에 올라온 글
최근에 달린 댓글
링크
Total
Today
Yesterday