티스토리 뷰

코딩테스트 연습 - 숫자 찾기

문제 설명


정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.

제한사항


  • 0 < num < 1,000,000
  • 0 ≤ k < 10
  • num에 k가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다.

입출력 예


num k result

29183 1 3
232443 4 4
123456 7 -1

입출력 예 설명


입출력 예 #1

  • 29183에서 1은 3번째에 있습니다.

입출력 예 #2

  • 232443에서 4는 4번째에 처음 등장합니다.

입출력 예 #3

  • 123456에 7은 없으므로 -1을 return 합니다.

제출 코드


2022년 12월 10일

#include <string>
#include <vector>

using namespace std;

int solution(int num, int k) {
    int answer = -1;
    string temp = to_string(num);
    int length = temp.size();
    
    for(int i = 0; i < length; i++)
    {
        if(temp[i] - '0' == k)
        {
            answer = i + 1;
            break;
        }
    }
    
    return answer;
}

<aside> 1️⃣ 입력받은 수를 string으로 변환한다.

</aside>

<aside> 2️⃣ 0부터 length까지 돌며 원하는 수인 k가 있는지 확인한다.

</aside>

<aside> 3️⃣ answer가 -1로 초기화 되었기 때문에 없다면 -1을, 있다면 인덱스에서 1 더한 값이 반환된다.

</aside>

'😈 알고리즘 > 🖥️ 프로그래머스' 카테고리의 다른 글

🖥️ 369게임  (0) 2023.01.19
🖥️ 문자열 정렬하기 (2)  (0) 2023.01.18
🖥️ 최댓값 만들기 (2)  (0) 2023.01.16
🖥️ 합성수 찾기  (0) 2023.01.15
🖥️ 인덱스 바꾸기  (1) 2023.01.14
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
«   2025/07   »
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 31
링크
Total
Today
Yesterday