[프로그래머스] k의 개수

당당·2023년 4월 28일
0

프로그래머스

목록 보기
59/245

https://school.programmers.co.kr/learn/courses/30/lessons/120887

📔문제

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


📝입출력 예

ijkresult
11316
105055
31020

📝입출력 예 설명

입출력 예 #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;
        
        for(int start=i;start<=j;start++){
            if(String.valueOf(start).contains(String.valueOf(k))){
                for(int s=0;s<String.valueOf(start).length();s++){
                    if(String.valueOf(String.valueOf(start).charAt(s)).equals(String.valueOf(k))){
                        answer++;
                    }
                }
                
            }
        }
        return answer;
    }
}

📰출력 결과


📂고찰

i부터 반복문을 시작해서 j까지 k가 있는지 보려면 i부터 ++하면서 그 i의 값을 문자열로 바꾸고 k가 포함되어있는지 여부를 확인한다.
만약 포함되어있다면, 몇개 포함되어있는지 확인해야하므로 for문을 i의 길이만큼 돌린다.

profile
MySQL DBA 신입 지원

0개의 댓글