[프로그래머스/C++]Lv.0 - 숫자 찾기

YH J·2023년 4월 17일
0

프로그래머스

목록 보기
12/168

문제 링크

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

내 풀이

1의자리수부터 비교한다음 k가 나타나는 자릿수를 j에 저장해두고 왼쪽부터 0이므로
i - j + 1을 한다.

내 코드

#include <string>
#include <vector>

using namespace std;

int solution(int num, int k) {
    int answer = -1;
    int i = 0;
    int j = 0;
    while(num != 0)
    {
        i++;
        if(num % 10 == k)
            j = i;
        num /= 10;
    }
    if(j != 0)
        answer = i - j + 1;
    return answer;
}

다른 사람의 풀이

#include <string>
#include <vector>

using namespace std;

int solution(int num, int k) {
    int answer = -1;
    string number = to_string(num);

    for(int idx = 0; idx<number.length(); idx++){
        if(k == number[idx] - '0'){
            return idx+1;
        }
    }
    return answer;
}

다른 사람의 풀이 해석

숫자를 문자열로 바꾼 뒤 찾아낸다. find함수를 사용 할 수도 있을듯.

profile
게임 개발자 지망생

0개의 댓글