본문 바로가기
코딩테스트/프로그래머스 입문

[코딩테스트 Lv.0] 숫자 찾기

by 블루데이제이 2024. 4. 10.
728x90
반응형
문제 설명

정수 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 합니다.

내 풀이
Java
import java.util.*;
class Solution {
    public int solution(int num, int k) {
        int answer = -1;
        
        String str = String.valueOf(num);
        for(int i = 0; i < str.length(); i++){
            int n = Integer.parseInt(String.valueOf(str.charAt(i)));            
            if(n == k){
                answer = i + 1;
                break;
            }
        }
        
        return answer;
    }
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>

int solution(int num, int k) {
    int answer = -1;
    
    char ch[1000000];
    sprintf(ch, "%d", num);
    for(int i = 0; i < strlen(ch); i++){
        if(ch[i] - '0' == k){
            answer = i + 1;
            break;
        }
    }
   
    return answer;
}
Python
def solution(num, k):
    answer = -1
    
    cnt = 0
    for i in str(num):        
        if int(i) == k:            
            answer = (cnt + 1)
            break
        cnt += 1
        
    return answer

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

728x90
반응형