본문 바로가기
[ 다먹살 ]/- Coding

[프로그래머스] 레벨1 없는 숫자 더하기

by 엉망으로살기 2021. 9. 22.
반응형

https://programmers.co.kr/learn/courses/30/lessons/86051?language=java 

 

코딩테스트 연습 - 없는 숫자 더하기

0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한

programmers.co.kr

 

아마 최근에 올라온 문제가 아닌가 싶다. 배열에서 10 이하의 수가 존재하지 않으면 그 합을 더해주는 문제이며, 나는  String 클래스의 contains 자체 메소드를 이용해서 풀었다. 충분히 다른 방법으로도 해결이 가능할 것 같다.

 


문제 및 입출력

 


코드

class Solution
{
    public static int solution(int[] numbers)
    {
        int answer = 0;
        String find = "0";
        String input = "";
        
        // numbers배열 이어붙이기
        for(int d : numbers)
        {
         input += d;
        }
        
        while(true)
        {
         int cmp = Integer.parseInt(find);
        
            // 비교할 값이 10이면 종료
         if(cmp==10)
         {
         break;
         }
            // 비교할 값(find)가 비교대상(input)에 없으면 결과 리턴값에 +
         if(!input.contains(find))
         {
         answer += cmp;
         }
        
            // 배열 존재유무와 상관없이 비교할 값(find)는 무조건 +1
         cmp++;
         find = cmp + "";
        }
        
        return answer;
    }
}

 

반응형

댓글