코딩굼벵이
구르는 중
코딩굼벵이
  • 분류 전체보기 (115)
    • [C_C++]이론 공부 (17)
      • 알고리즘 (11)
      • 이론+STL (6)
    • [C_C++]코딩테스트 연습 (45)
      • [프로그래머스] level 1 (26)
      • [프로그래머스] level 2 (5)
      • [백준] 일반 문제 (12)
      • 기타 (2)
    • Solana (28)
      • Documentation (9)
      • Validator - 공부 (10)
      • Validator - 실행 (devnet & te.. (6)
      • 그 외 (3)
    • React (4)
    • Linux (2)
    • Javascript (2)
    • 블록체인 기반 핀테크 및 응용 SW 개발 (8)
      • React (1)
      • Javascript (3)
      • Solidity (3)
      • 프로젝트 (1)
    • 기타 (9)

블로그 메뉴

  • 🌟 깃허브
  • 🌿 Portfolio(2021)
  • 홈
  • 태그
  • 방명록

티스토리

최근 글

태그

  • 밸리데이터
  • 솔라나
  • Immer #ContextAPI
  • 모니터링
  • Hooks #React
  • grafana

인기 글

전체 방문자
오늘
어제
hELLO · Designed By 정상우.
코딩굼벵이

구르는 중

[C++] 프로그래머스 - K번째 수 (벡터 공부)
[C_C++]코딩테스트 연습/[프로그래머스] level 1

[C++] 프로그래머스 - K번째 수 (벡터 공부)

2021. 6. 21. 20:29
728x90

 

K번째 수 문제

 

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> solution(vector<int> array, vector<vector<int>> commands) {
    vector<int> answer;
    vector<int> temp;
    for (int i = 0; i < commands.size(); i++) {
		temp = array;
		sort(temp.begin()+ commands[i][0] - 1, temp.begin()+ commands[i][1]);
		answer.push_back(temp[commands[i][0] + commands[i][2] - 2]);
	}
    return answer;
}

 

sort와 vector를 이용해서 문제를 풀어보았다.

배열을 사용할 때는 algorithm 헤더의 sort를 이용하려면 배열의 주소를 넣어서 범위를 지정해 정렬을 하는데,

벡터를 사용할 때는 반복자에 들어갈 값을 넣어야 하는 것 같았다.

그래서 함수에 매개변수로 들어온 array를 temp에 복사하고, 주어진 범위만 정렬한 후 전체 배열에서 k번째 수를 찾게 했다.

답은 나왔으나, 주어진 배열이 길거나 검사해야하는 범위가 짧은 경우 효율성이 떨어질 수 있다는 문제점을 느꼈다.

 

그런데 다른 사람의 풀이를 보니 내 풀이랑 똑같은 코드가 클린 코드로 칭찬받고 있었다.

뿌듯하다^.^

 

 

'[C_C++]코딩테스트 연습 > [프로그래머스] level 1' 카테고리의 다른 글

[C++] 프로그래머스 - 모의고사  (0) 2021.07.02
[C++] 프로그래머스 - 폰켓몬 (set)  (0) 2021.06.29
[C++] 프로그래머스 - 키패드 누르기 (배열 노가다 + 지향할 풀이)  (0) 2021.06.25
[C++] 프로그래머스 - 징검다리 건너기  (0) 2021.06.24
[C++] 프로그래머스 - 두 개 뽑아서 더하기 (벡터, sort, find)  (0) 2021.06.24
    '[C_C++]코딩테스트 연습/[프로그래머스] level 1' 카테고리의 다른 글
    • [C++] 프로그래머스 - 폰켓몬 (set)
    • [C++] 프로그래머스 - 키패드 누르기 (배열 노가다 + 지향할 풀이)
    • [C++] 프로그래머스 - 징검다리 건너기
    • [C++] 프로그래머스 - 두 개 뽑아서 더하기 (벡터, sort, find)
    코딩굼벵이
    코딩굼벵이
    구르는 재주 연마 중

    티스토리툴바