티스토리 뷰

Java/Coding Test

[코딩테스트] 문자 찾기

Jane Kwon 2022. 2. 21. 20:56
반응형

 

문제

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

대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다.

 

입력

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

문자열은 영어 알파벳으로만 구성되어 있습니다.

 

출력

첫 줄에 해당 문자의 개수를 출력한다.

 

 

 

예시 입력

Computercooler
c

예시 출력

2

 

 

 

 

 

문제 풀이

*상단 풀이처럼 콘솔 입출력 방식이 백준 방식, 하단 풀이처럼 Solution이라는 함수를 사용해서 문제를 푸는 방식이 프로그래머스 방식

 

[첫번째 풀이]

import java.util.Scanner;
  
public class Main {
  public static void main(String[] args){
    Scanner in = new Scanner(System.in);
    String input1 = in.next().toLowerCase();
    String input2 = in.next().toLowerCase();

    int count = 0;

    for (char c : input1.toCharArray()) {
      if (c == input2.charAt(0)) {
        count++;
      }
    }

    System.out.println(count);
  }
}

(Time 148ms / Memory 27MB)

import java.util.Scanner;
  
public class Main {
  public int Solution(String str, char c) {
    int count = 0;
    for (char ch : str.toCharArray()) {
      if (ch == c) {
        count++;
      }
    }
    return count;
  }
  
  public static void main(String[] args){
    Scanner in = new Scanner(System.in);
    String input1 = in.next().toLowerCase();
    String input2 = in.next().toLowerCase();

    Main main = new Main();
    System.out.println(main(input1, input2.charAt(0)));
  }
}

(Time 153ms / Memory 27MB)

 

 

 

- 대소문자를 구분하지 않는다하여 소문자로 통일한다.

- 첫번째 입력 받은 문자열을 char 배열로 만들어 향상된 for 문을 돌리면서 두번째 입력 받은 char 값과 비교하여 같으면 count 값을 증가시켜준다.

- 같은 방식을 백준, 프로그래머스 방식대로 제출 했는데, 결과를 보니 백준 방식으로 함수를 따로 사용하지 않았을 때 시간 단축에 도움이 되었다.

 

 

 

 

 

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함