결국 JAVA로 갈아타버린..🍂

강의 정리 - 문자찾기 / 대소문자 변환 / 문장 속 단어

FireStone 2022. 3. 6. 20:56

1) 문자 찾기

: 문자열에서 특정 문자 찾기

 

- 문자열, 문자를 uppercase를 통해 대문자로 표준화 

- str.toCharArray()

 => 문자열을 문자 하나하나로 나눠 배열로 만들어줌 

 

* 문자열의 공백도 인덱스에 포함됨 

 -> 공백을 포함시키지 않으려면 'replace' 사용해 공백 제거해주고, 배열로 변환해주면 될 듯 함

import java.util.*;
public class Main
{
    public int solution(String str, char t){
        int answer = 0;
        str = str.toUpperCase();
        t = Character.toUpperCase(t);
        for(char x : str.toCharArray()){
            
        }
        return answer;
    }
    // tip: arguments are passed via the field below this editor
    public static void main(String[] args)
    {
        Main T = new Main();
        Scanner kb = new Scanner(System.in);
        String str = kb.next();
        char ch = kb.next().charAt(0);

        System.out.print(T.solution(str,c));
    }
}

 

 

2) 대소문자 변환

: 문자열을 대문자는 소문자로, 소문자는 대문자로 변환해 출력

 

- 대문자/소문자 확인하는 방법

  • Character.isLowerCase(char x) : 문자열이 소문자인지 결과 리턴 
// tip: each public class is put in its own file
import java.util.*;
public class Main
{
    public int solution(String str){
        int answer = 0;
        
        for(char x : str.toCharArray()){
            if(Character.isLowerCase(x))
                answer += Character.toUpperCase(x);
            else
                answer += Character.toLowerCase(x);
        }
        return answer;
    }
    // tip: arguments are passed via the field below this editor
    public static void main(String[] args)
    {
        Main T = new Main();
        Scanner kb = new Scanner(System.in);
        String str = kb.next();

        System.out.print(T.solution(str));
    }
}
  • ASCII 이용 

ex) if(x>= 65 && x<= 90) -> 대문자 조건

      if(x>=97 && x<=122) -> 소문자 조건

 

3) 문장 속 단어

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

 

// tip: each public class is put in its own file
import java.util.*;
public class Main
{
    public int solution(String str){
        String answer = "";
        int m = Integer.MIN_VALUE;
        String[] s = str.split(" ");

        for(String x: s){
            int len = x.length();
            if(len>m){
                m=len;
                answer = x;
            }
                
        }
        return answer;
    }
    // tip: arguments are passed via the field below this editor
    public static void main(String[] args)
    {
        Main T = new Main();
        Scanner kb = new Scanner(System.in);
        String str = kb.nextLine();

        System.out.print(T.solution(str));
    }
}

- indexOf(), substring() 사용

import java.util.*;
public class Main
{
    public int solution(String str){
        String answer = "";
        int m = Integer.MIN_VALUE, pos;
        while((pos = str.indexOf(' ')) != -1){
            String tmp = str.substring(0,pos);
            int len = tmp.length();
            if(len>m){
                m = len;
                answer = tmp;
            }
            str = str.substring(pos+1);
        }
        return answer;
    }
    // tip: arguments are passed via the field below this editor
    public static void main(String[] args)
    {
        Main T = new Main();
        Scanner kb = new Scanner(System.in);
        String str = kb.nextLine();

        System.out.print(T.solution(str));
    }
}