728x90
*쉬워보여도 문제를 꼼꼼히 읽자*
numbers에 중복되는 숫자가 있는줄 알고 좀 복잡하게 풀었다..
my full code
#include <string>
#include <vector>
using namespace std;
int solution(vector<int> numbers) {
int answer = 45;
vector<int> elements(10);
for(int num: numbers){
if(elements[num] == 0) {
elements[num] = 1;
answer -= num;
}
}
return answer;
}
문제
https://programmers.co.kr/learn/courses/30/lessons/86051
코딩테스트 연습 - 없는 숫자 더하기
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
programmers.co.kr
728x90
[접근]
0부터 9까지 더한 수에서 numbers에 있는 숫자를 빼줬다.
(numbers에 중복된 숫자가 있는줄 알고 중복되는 숫자를 제외하기 위해 elements라는 vector를 만들었는데 필요없다.)
int answer = 45;
vector<int> elements(10);
for(int num: numbers){
if(elements[num] == 0) {
elements[num] = 1;
answer -= num;
}
}728x90
'coding > algorithm' 카테고리의 다른 글
| [SW Expert Academy] D1 2071. 평균값 구하기(c++) (0) | 2022.05.20 |
|---|---|
| [programmers] Lv.2 124 나라의 숫자(c++) (0) | 2022.05.19 |
| [SW Expert Academy] D2 1204. 최빈수 구하기(c++) (0) | 2022.05.19 |
| [programmers] Lv.2 멀쩡한 사각형(c++) - 2nd (0) | 2022.05.18 |
| [programmers] Lv.2 멀쩡한 사각형(c++) - 1st (0) | 2022.05.18 |
댓글