민뭉아치
민뭉아치
민뭉아치
전체 방문자
오늘
어제
  • 분류 전체보기 (62)
    • ㅁㅁㅇㅊ's Life (0)
      • Diary (1)
      • Certification (6)
      • English (1)
      • 독서 (1)
    • Algorithm (25)
    • Web (2)
    • Language (3)
      • JavaScript (1)
      • JAVA (2)
    • Spring boot (9)
    • Cloud (0)
    • DevOps (1)
    • Trouble Shooting (6)
    • 개발환경 (3)
    • 짤막IT지식 (4)

블로그 메뉴

  • 홈
  • 깃허브
  • 방명록

공지사항

인기 글

태그

  • Spring
  • Java
  • 백준
  • 자바
  • 백준알고리즘
  • 정보처리기사
  • 알고리즘
  • Algorithm
  • 자격증
  • 코딩테스트

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
민뭉아치

민뭉아치

Algorithm

[자바 알고리즘 문제풀이] String 01. 문자 찾기

2022. 2. 17. 20:39

String(스트링) 01. 문자 찾기


* 사용 언어 : JAVA

* Inflearn의 자바(Java)알고리즘 문제풀이 : 코딩테스트 대비 강의내용 정리

 

1. 문제

한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내기.
대소문자를 구분하지 않고 문자는 영어로 제공됨
// 입력
Computercooler
c

// 출력
2

 

2. 풀이

먼저, 문자열을 입력받기 위해 Scanner를 호출한다.

Scanner은 Char 타입으로는 입력받을 수 없고 Stirng 타입으로 입력받을 수 있다.

기본형 변수인 char는 단 한 글자만 저장할 수 있는 변수로 Scanner로 입력을 받을 때는 String 타입으로만 받을 수 있기때문에

charAt() 함수를 통해 String 타입의 문자열의 한글자를 char타입으로 변환해준다. 

 

입력받은 문자열은 대소문자를 구분하지 않으므로 대문자 또는 소문자로 통일해주기 위해 toUpperCase() 또는 toLowerCase()를 사용한다. 두 번째 입력받은 문자는 char 타입도 Charater Class의 toUpperCase() 또는 toLowerCase()를 사용할 수 있다.

foreach문을 사용하여 입력받은 문자열과 입력받은 문자를 비교하여 만약 같은 문자라면 answer 변수의 값을 증가시킨다.

이 때, foreach문에는 배열이나 Iterator을 제공하는 컬렉션 프레임워크인 ArrayList 등이 와야한다. 

String을 탐색하기 위해서 문자 하나하나를 분리하여 문자 배열을 만들어주는 toCharArray()함수를 사용한다. 

 

 

3. 코드 

public class Main {
    public int solution(String str, char c) {
        int answer = 0;
        str = str.toUpperCase();
        c = Character.toUpperCase(c);
        
        for (char x : str.toCharArray()) {
            if (x == c) answer++;
        }

        return answer;
    }
    public static void main(String[] args) {
        Main T = new Main();
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        char c = scanner.next().charAt(0);

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

4. Keword

  • Scaaner
    • next();
    • charAt(); 
  • String method
    • toUpperCase();
    • toLowerCase();
    • toCharArray();
  • Character method
    • toUpperCase();
    • toLowerCase();
반응형

'Algorithm' 카테고리의 다른 글

[자바 알고리즘 문제풀이] String 03. 문장 속 단어  (0) 2022.03.06
[자바 알고리즘 문제풀이] String 02. 대소문자 변환  (0) 2022.02.17
순환 Recursion, 재귀함수 알고리즘  (0) 2021.11.09
[백준_단계별로 풀어보기] 입출력과 사칙연산 2588번 곱셈 (JAVA)  (0) 2020.07.02
[백준_단계별로 풀어보기] 입출력과 사칙연산 10430번 나머지 (JAVA)  (0) 2020.07.02
    'Algorithm' 카테고리의 다른 글
    • [자바 알고리즘 문제풀이] String 03. 문장 속 단어
    • [자바 알고리즘 문제풀이] String 02. 대소문자 변환
    • 순환 Recursion, 재귀함수 알고리즘
    • [백준_단계별로 풀어보기] 입출력과 사칙연산 2588번 곱셈 (JAVA)
    민뭉아치
    민뭉아치
    Do Better Today Than You Were Yesterday

    티스토리툴바