JAVA 공부

[ 프로그래머스 - Java ] K의 개수

hakstroy 2024. 11. 13. 10:02

1. valueOf() 

 : String 객체로 형변환 

ex) valueOf(boolean), valueOf(float), valueOf(double), valueOf(int), valueOf(long), valueOf(String)

ex) int a = 5; 

      String a = String.valueOf(a); 

      : 5의 값이 숫자형에서 문자형으로 형변환..

 

2. contains()

 : 대상 문자열에 특정 문자열이 포함되어 있는지를 확인하는 역할을 한다. 

 : 특정열에 포함되어 있다면 true, 포함되어 있지 않다면 false 출력

ex) String str = "Hello World"; 

      boolean chk = str.contains("Hello"); -- true

      boolean chk = str.contains("hello"); -- false

 

 

 

문제 설명

: 1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.

 

 

 

제한 사항

: 1 ≤ i < j ≤ 100,000  
: 0 ≤ k ≤ 9

 

 

입출력 예

입출력 예 설명

 

입출력 예 #1

본문과 동일합니다.

입출력 예 #2

10부터 50까지 5는 15, 25, 35, 45, 50 총 5번 등장합니다. 따라서 5를 return 합니다.

입출력 예 #3

3부터 10까지 2는 한 번도 등장하지 않으므로 0을 return 합니다.

 

나의 풀이

class Solution {
    public int solution(int i, int j, int k) {
        int answer = 0;
        String kk = String.valueOf(k);
        for(int f=i; f <= j; f++){
            String val = String.valueOf(f);
            if(val.contains(kk)){
                String[] arr = val.split("");
                for(String ttl : arr){
                    //System.out.println("val : " + ttl);
                    if(ttl.equals(kk)){
                        answer++;
                    }
                }                                
            }
        }
        return answer;
    }
}

 

 

 

# 게을렀던 나 자신 반성하며 다시 하나하나 나아가보자..늦은 나이..신경쓰지말고 나의 발전에 노력하고 힘을 쓰자 화이팅!