프로그래머스 Lv.1 코딩테스트
[프로그래머스 Lv.1] 없는 숫자 더하기
하다블
2022. 2. 8. 15:57
반응형
https://programmers.co.kr/learn/courses/30/lessons/86051
코딩테스트 연습 - 없는 숫자 더하기
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
programmers.co.kr
문제는 다음과 같습니다.
프로그래머스에서 측정한 난이도에서 알 수 있듯이 단순한 for문으로 해결할 수 있습니다.
#include <string>
#include <vector>
using namespace std;
int solution(vector<int> numbers) {
int answer = 0;
for(int i=0;i<=9;i++)
{
bool check{false};
for(int j{0};j<numbers.size();j++)
{
if(numbers[j]==i)
{
check=true;
}
}
if(check==false)
{
answer+=i;
}
}
return answer;
}
시간 복잡도에서 좋지 못한 방법이긴 하지만 단순하게 풀 수 있는 방법 중 하나입니다.
이중 for문을 사용하여 0부터 9까지 모두 돌아보면서 vector에 그 원소가 존재하는지 일일이 체크하는 방법으로,
이중 for문이어서 속도가 오래 걸리지만 보다 간단하고 보는 사람의 입장에서도 바로 이해할 수 있을 것이라고 생각합니다.
반응형