티스토리 뷰
반응형
문제의 조건
1. 정수를 담은 배열 numbers가 주어짐
2. 숫자 두 개를 뽑아서 더했을 때 나올 수 있는 수들을 담은 배열 리턴하기
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> numbers) {
vector<int> answer;
for (int i = 0; numbers.size() - 1 > i; i++)
{
for (int j = i + 1; numbers.size() > j; j++)
{
int sum = numbers[i] + numbers[j];
auto it = find(answer.begin(), answer.end(), sum);
if (answer.end() == it)
answer.emplace_back(sum);
}
}
sort(answer.begin(), answer.end());
return answer;
}
처음엔 unordered_set을 써서 풀려고 하다가 쟨 정렬이 안 되니까 어차피 sort 함수 불러서 정렬시키면 처리 시간이 똑같지 않나 싶어서 위와 같이 벡터에서 찾는 방식으로 풀었습니다.
근데 다른 분들 풀이 보니까 그냥 set을 쓰셨더라구요.
그 때 set은 중복 허용 안 하면서 오름차순 정렬까지 해 준다는 게 생각이 남 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
난 꼭 하나만 알고 둘은 까먹지...
다음엔 잘 쓰자...
반응형
'알고리즘 문제 풀이' 카테고리의 다른 글
[C++] 프로그래머스 복서 정렬하기 풀이 (0) | 2021.10.02 |
---|---|
[C++] 프로그래머스 2016 풀이 (0) | 2021.10.01 |
[C++] 프로그래머스 예산 풀이 (0) | 2021.09.30 |
[C++] 프로그래머스 위클리 챌린지 8주차 - 최소직사각형 풀이 (0) | 2021.09.30 |
[C++] 프로그래머스 3진법 뒤집기 풀이 (0) | 2021.09.28 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- BFS
- hackerrank
- 알고리즘
- 컴퓨터
- 너비우선탐색
- DFS
- c++
- 캐나다
- 그리디
- 해커랭크
- 기초
- 프로그래밍
- 다이나믹프로그래밍
- c언어
- 컴퓨터공부
- 캐나다생활
- 컴퓨터사이언스
- 프로그래머스
- 아이패드
- 문제풀이
- greedy
- 코딩공부
- 스위프트플레이그라운드
- 영어공부
- C언어기초
- 백준
- 깊이우선탐색
- 하드웨어
- 애플
- dp
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함