본문 바로가기
Dev/Algorithm

[인프런] JAVA 알고리즘 String : 1. 문자찾기

by MICOSA 2022. 7. 25.

문제

입력받은 문자열에 입력받은 문자가 몇개 존재하는지 찾기

 

해답

package main.java.com.inflearn.string.문자찾기;

import java.util.*;

public class Main {
	public int solution(String str, char t){
		int answer=0;
		str = str.toUpperCase();
		t = Character.toUpperCase(t);
		/*
		 for(int i=0; i<str.length(); i++) {
			if(str.charAt(i)==t) answer++;
		 }
		 */
		for (char x : str.toCharArray()) { 
			if(x==t) answer++;
		}
		return answer;
	}

	public static void main(String[] args){
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		String str=kb.next();
		char c=kb.next().charAt(0);
		System.out.print(T.solution(str, c));
	}
}

 

사용한 클래스 및 메소드

1. Scanner

메소드 설명
next() String형 입력 및 리턴 (공백 또는 줄바꿈을 기준으로 한 단어를 읽음)
nextLine() String형 입력 및 리턴 (공백 유무와 상관없이 개행을 기준으로 한줄을 읽음)
nextInt() int형 입력 및 리턴
nextDouble() double형 입력 및 리턴

Scanner 의 입력 메소드들은 대부분 공백과 개행(' ', '\t', '\r', '\n' 등등..)을 기준으로 읽는다.

(char형(문자) 타입으로 받는 메소드는 따로 없다. String으로 받은 뒤, charAt() 메소드로 문자로 반환해야한다.)

 

2. charAt()

String 타입을 char타입으로 변환할 때 사용한다.

String str = new String("예시");
char c = str.charAt(0); //문자열 0번째 문자를 char타입으로 변환

 

3. Character

메소드 설명 
char Character.toUpperCase(char ch) 인수 ch를 대문자로 바꾼다
char Character.toLowerCase(char ch) 인수 ch를 소문자로 바꾼다

 

4. String.toCharArray()

문자열을 한 글자씩 쪼개서 이를 char 타입의 배열에 집어 넣어주는 메소드이다.

  String s1 = "Hello World";
  char[] charArr = s1.toCharArray();

 char형 배열을 합쳐서 하나의 String(문자열)로 만들 수 있다.

String s2 = new String(charArr);

 

 

 

참조 

https://st-lab.tistory.com/92

https://colossus-java-practice.tistory.com/31

https://snakecharm.tistory.com/116

https://flatsun.tistory.com/77

'Dev > Algorithm' 카테고리의 다른 글

[인프런] JAVA 알고리즘 String : 2.대소문자 변환  (0) 2022.07.25

댓글