dev_beomgeun
꾸준하게 차근차근
dev_beomgeun
전체 방문자
오늘
어제
  • 분류 전체보기 (170)
    • 전공 (0)
      • 운영체제 (0)
      • 알고리즘 (0)
      • 자료구조 (0)
      • 데이터베이스 (0)
      • 네트워크 (0)
    • 개발 공부 (32)
      • 웹 (6)
      • 리눅스 (4)
      • 머신러닝 (1)
      • 스프링 (17)
      • Git (2)
      • AWS (2)
    • 개발 도서, 강의 (3)
      • 스프링 입문을 위한 자바 객체지향의 원리와 이해 (0)
      • 모든 개발자를 위한 HTTP 웹 기본 지식(김영한.. (2)
      • 스프링 부트와 AWS로 혼자 구현하는 웹서비스 (1)
    • 문제 풀이 (118)
      • 백준 알고리즘 (72)
      • 프로그래머스 알고리즘, SQL (38)
      • Hackerrank SQL (8)
    • 프로젝트 기록 (4)
      • 캡스톤 종합설계 (4)
      • 반려하루 프로젝트 (0)
    • 활동 기록 (12)
      • 네이버 부스트캠프 (7)
      • 취준 & 코테 (4)
      • 소프트웨어 마에스트로 13기 (1)
    • 이것저것 (1)

블로그 메뉴

  • 홈
  • 깃허브
  • 링크드인
  • 방명록

공지사항

인기 글

태그

  • 회고
  • HackerRank mysql
  • 부스트캠프
  • 서블릿
  • 백준
  • 프로그래머스 SQL
  • 프로그래머스
  • 그래프탐색
  • Baekjoon
  • AI Tech
  • BFS
  • 백준 DP
  • c++
  • dp
  • 기록
  • Hackerrank
  • 네이버 부스트캠프
  • 일기
  • 반성
  • 스프링

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
dev_beomgeun

꾸준하게 차근차근

문제 풀이/프로그래머스 알고리즘, SQL

[프로그래머스] 문자열 내 마음대로 정렬하기(문자열) [C++]

2020. 12. 28. 19:50
728x90

programmers.co.kr/learn/courses/30/lessons/12915

 

코딩테스트 연습 - 문자열 내 마음대로 정렬하기

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1

programmers.co.kr

 - 프로그래머스로 기본 구현, 문자열 연습 중이다.

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

using namespace std;

vector<string> solution(vector<string> strings, int n) {
    vector<string> answer;
    vector<pair<int, string>> sorting;
    
    for(int i = 0 ; i < strings.size() ; i++){
        sorting.push_back(make_pair(strings[i][n] - 'a', strings[i]));
    }
    sort(sorting.begin(), sorting.end());
    
    for(int i = 0 ; i < strings.size() ; i++){
        answer.push_back(sorting[i].second);
    }
    return answer;
}

 - vector에 pair로 저장을 한 뒤, sort를 이용해서 정렬했다.

 - pair은 첫 번째 인자가 같으면 두 번째 인자로 정렬을 한다. 기본 세팅은 오름차순이다.

 - compare 함수를 임의로 만들어서 정렬 기준을 만들 수 있다.

bool compare(pair<int, int> &a, pair<int, int> &b)
	return a.second < b.second;
    
sort(v.begin(), v.end(), comapre);

pair을 저장하고 있는 vector에서 두 번째 인자를 기준으로 오름차순 정렬이다.

728x90
저작자표시 비영리 변경금지 (새창열림)

'문제 풀이 > 프로그래머스 알고리즘, SQL' 카테고리의 다른 글

[프로그래머스 SQL] 있었는데요, 없었습니다 (join)  (0) 2021.02.23
[프로그래머스 SQL] NULL 처리하기  (0) 2021.02.23
[프로그래머스] SQL 문제 정리  (0) 2021.01.20
[프로그래머스] 3진법 뒤집기 (n진법, bitset) [C++]  (0) 2021.01.03
[프로그래머스] 완주하지 못한 선수(map) [C++]  (0) 2020.12.23
    '문제 풀이/프로그래머스 알고리즘, SQL' 카테고리의 다른 글
    • [프로그래머스 SQL] NULL 처리하기
    • [프로그래머스] SQL 문제 정리
    • [프로그래머스] 3진법 뒤집기 (n진법, bitset) [C++]
    • [프로그래머스] 완주하지 못한 선수(map) [C++]
    dev_beomgeun
    dev_beomgeun
    백엔드 개발을 하며 얻은 지식과 경험을 공유합니다. 현재 카카오페이에서 백엔드 엔지니어로 일하고 있습니다.

    티스토리툴바