코딩테스트/String

일반 for문과 향상된 for문 비교(문자열 for문)

도비는자유에오 2022. 5. 29. 16:35

1. 문자열 비교 코드

import java.util.*;
public class Main {

	public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            String input1 = in.next();
            char input2 = in.next().charAt(0); //문자하나만 가져오기

            String str = input1.toLowerCase(); //모든 문자열을 소문자로 변경
            char c = Character.toLowerCase(input2); //문자열 -> 문자 변경 후 lowerCase로 변형

            int answer = 0;

            //1)일반 for 문
            for(int i = 0; i < str.length(); i++) if(str.charAt(i) == c) answer ++ ;

            //2)향상된 for 문
            for(char x : str.toCharArray()) {
                if(x==c)
                answer ++ ;

            }
            System.out.println(answer);
	}
}

문자열(String) 을 문자(char)로 하나씩 비교하는 방법.

예시) TistoryBlog 에서 t를 찾을 경우(대소문자 상관없이)

TistoryBlog 를 대문자(toUpperCase) or 소문자(toLowerCase)로 모두 변경 후 t를 찾으면 된다.

 

 char 형식으로 대소문자 변경 시 Character.toLowerCase 로 사용해야함.

일반 for문 에서는 String str 인 문자열을 charAt 이라는 함수로 위치를 알 수 있다.

Scanner in.next인 경우 String 타입이므로 , charAt을 사용해서 입력값을 받을 수 있다.

향상된 for문에서는 char x 에 String 문자열을 하나씩 가져온다 일반 for문에서 arr[i] 와 같은 존재!

String 문자열인 str을 toCharArray 함수를 사용하면 문자 하나씩 들어올 수 있는 배열 형태로 변경해준다