[Algorithm] 두 개 뽑아서 더하기

2024. 12. 31. 10:06·Algorithm/Practice

문제 설명

정수 배열 numbers가 주어집니다. 

numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.

 

문제 유형

  • 조합

 

의사코드

  1. 자료구조 Set을 변수(set)로 선언한다.
  2. [반복문] number의 사이즈만큼 반복한다.
    1. [반복문] number의 사이즈만큼 반복한다.
      1. set에 numbers[i] + numbers[j]의 합을 저장한다.
  3. [반복문] set의 크기만큼 반복한다.
    1. set의 요소값을 answer에 저장한다.
  4. 결과값(answer)을 반환한다.

 

코드 작성

 

#include <vector>
#include <set>

using namespace std;

vector<int> solution(vector<int> numbers) {
    vector<int> answer;
    set<int> set;
    
    for (int i = 0; i < numbers.size(); i++)
    {
        for (int j = i + 1; j < numbers.size(); j++)
        {
            set.insert(numbers[i] + numbers[j]);
        }
    }
    
    for (int data : set)
    {
        answer.push_back(data);
    }
    
    return answer;
}

 

다른 풀이
#include <vector>
#include <set>
using namespace std;

vector<int> solution(vector<int> numbers) {
    vector<int> answer;
    set<int> st;
    for(int i = 0;i<numbers.size();++i){
        for(int j = i+1 ; j< numbers.size();++j){
            st.insert(numbers[i] + numbers[j]);
        }
    }
    answer.assign(st.begin(), st.end()); // 새로운 함수 공부
    return answer;
}
  • Set 데이터를 벡터로 옮길 때 assign()함수를 사용하였다.

'Algorithm > Practice' 카테고리의 다른 글

[Algorithm] 푸드 파이트 대회  (0) 2024.12.31
[Algorithm] 가장 가까운 같은 글  (0) 2024.12.31
[Algorithm] K번째수  (0) 2024.12.30
[Algorithm] 문자열 내 마음대로 정렬하기  (0) 2024.12.30
[Algorithm] 시저 암호  (1) 2024.12.27
'Algorithm/Practice' 카테고리의 다른 글
  • [Algorithm] 푸드 파이트 대회
  • [Algorithm] 가장 가까운 같은 글
  • [Algorithm] K번째수
  • [Algorithm] 문자열 내 마음대로 정렬하기
DevColIn
DevColIn
복잡함을 단순하게
  • DevColIn
    심플한 코딩생활
    복잡함을 단순하게
  • 전체
    오늘
    어제
    • 전체보기 (223)
      • Unreal 부트캠프 (49)
        • TIL (34)
        • 사전캠프 (7)
        • 본캠프 (8)
      • Unrael (10)
        • 환경설정 (0)
        • Basic (19)
        • Component (5)
        • GAS (GameplayAbilitySystem) (3)
        • AI (2)
        • Implement (10)
        • UI (1)
        • Error (1)
        • Network (2)
        • Tip (1)
      • Level Design (5)
      • Math (1)
      • Design Pattern (16)
      • Computer Science (2)
        • Network (1)
        • Database (1)
      • Algorithm (79)
        • Basic (4)
        • Practice (74)
      • C++ (4)
        • Basic (4)
      • Tool (0)
      • Game (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    c++
    Design Pattern
    Til
    알고리즘
    basic
    unrealengine
    actor
    본캠프
    assetmanager
    GameplayEffect
    퀘스트
    DesignPattern
    디자인패턴
    Algorithm
    소프트 레퍼런신
    KPT회고
    gas
    component
    unreal
    AI
    게임동기화
    하드 레퍼런싱
    사전캠프
    Implement
    액터
    Animation
    tsoftobjectptr
    디자인 패턴
    레벨디자인
    내일배움캠프
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
DevColIn
[Algorithm] 두 개 뽑아서 더하기
상단으로

티스토리툴바