본문 바로가기

코딩테스트

숫자 찾기 JAVA 코딩테스트 프로그래머스

숫자 찾기

 

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr

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

 

나의 풀이 : 정수 num을 String 배열로 변경한뒤 한자리씩 k와 비교 ! k와 일치하다면 반복문에서 사용한 i를 answer에 대입하는데, i가 0부터 시작하므로 +1을 해주었다.

class Solution {
    public int solution(int num, int k) {
        int answer = 0;

        String strNum = Integer.toString(num);
        //System.out.println("strNum : "+ strNum);
        String[] strNumArr = strNum.split("");
        for(int i=0;i<strNumArr.length;i++){
            //System.out.println("strNumArr : "+ strNumArr[i] + " :[i]: " + i);
            int newNum = Integer.parseInt(strNumArr[i]);
             if( newNum == k) {
                 //System.out.println("newNum : "+ newNum + " :[i]: " + i);
                 answer = i+1;
                 break ;

             }
        }

        if(answer == 0) answer = -1;

        return answer;
    }
}

 

다른 사람 풀이 : String.valueOf()를 사용하고 마지막 return시 삼항연산자로 깔끔하게 작성된 코드가 마음에 들었다! 다음에 나도 String.valueOf()를 사용해봐야지..!!

class Solution {
    public int solution(int num, int k) {
        String numStr = String.valueOf(num);
        String kStr = String.valueOf(k);

        int answer = numStr.indexOf(kStr);
        return answer < 0 ? -1 : answer + 1 ;
    }
}

참고한 블로그 JAVA split : https://jamesdreaming.tistory.com/84

 

[ 자바 코딩 ] Java split() 함수로 문자열 자르기

안녕하세요. 제임스 입니다. 이번에는 Java 에서 String 을 다룰때 유용하게 사용할 수 있는 함수 중 한가지인 split 함수에 대해 알아 보겠습니다. ■ String[] split(String regex) split 함수는 입력받은 정

jamesdreaming.tistory.com

 

참고한 블로그 자바에서 int를 String 타입으로 바꾸는 방법 : https://wakestand.tistory.com/421

 

자바 int를 String으로, String을 int로 변경방법

자바에서 int를 String 타입으로 바꾸려면 Integer.toString(int값); 혹은 String.valueOf(int값); 으로 간단히 변경이 가능하고 String을 int로 바꾸는 경우에는 Integer.valueOf(String값); 을 사용해주면 되는데 위 예

wakestand.tistory.com

 

728x90
300x250