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

- 전체코드

class Solution {
    public int solution(int[] numbers) {
        int answer = 0;
        for(int i = 0; i < 10 ; i++) {
            answer += i;
            for(int n : numbers) {
                if(i == n) {
                    answer -= i;
                    break;
                }
            }
        }
        
        return answer;
    }
}

- 막혔던점 & 해결법

  1. 문제를 보고 든 생각은 for문을 이용하여 없는 번호만을 추출해 더하고 싶었으나 이렇게 하기 위해서는 있는 번호와 없는 번호를 구분하는 다른 저장공간을 마련하고 구분에 따라 합계를 다시 구하는 것이었다. 이는 비효율적이라 판단되어 처음 for문을 시작할때부터 해당 숫자들 더하고 numbers의 배열에 있는 값일 경우 빼주는 방식으로 문제를 해결하였다.

좋은 웹페이지 즐겨찾기