[BAEKJOON] 10814๋ฒˆ : ๋‚˜์ด์ˆœ ์ •๋ ฌ

2021. 12. 11. 22:18ยท ๐Ÿ–ฅ๏ธ Computer/Algorithm Solution

๋ฌธ์ œ

์˜จ๋ผ์ธ ์ €์ง€์— ๊ฐ€์ž…ํ•œ ์‚ฌ๋žŒ๋“ค์˜ ๋‚˜์ด์™€ ์ด๋ฆ„์ด ๊ฐ€์ž…ํ•œ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, ํšŒ์›๋“ค์„ ๋‚˜์ด๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์œผ๋กœ, ๋‚˜์ด๊ฐ€ ๊ฐ™์œผ๋ฉด ๋จผ์ € ๊ฐ€์ž…ํ•œ ์‚ฌ๋žŒ์ด ์•ž์— ์˜ค๋Š” ์ˆœ์„œ๋กœ ์ •๋ ฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์˜จ๋ผ์ธ ์ €์ง€ ํšŒ์›์˜ ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค N โ‰ค 100,000)

๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ํšŒ์›์˜ ๋‚˜์ด์™€ ์ด๋ฆ„์ด ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. ๋‚˜์ด๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉฐ, 200๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๊ณ , ์ด๋ฆ„์€ ์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ธธ์ด๊ฐ€ 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ๋ฌธ์ž์—ด์ด๋‹ค. ์ž…๋ ฅ์€ ๊ฐ€์ž…ํ•œ ์ˆœ์„œ๋กœ ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„๋ถ€ํ„ฐ ์ด N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ์˜จ๋ผ์ธ ์ €์ง€ ํšŒ์›์„ ๋‚˜์ด ์ˆœ, ๋‚˜์ด๊ฐ€ ๊ฐ™์œผ๋ฉด ๊ฐ€์ž…ํ•œ ์ˆœ์œผ๋กœ ํ•œ ์ค„์— ํ•œ ๋ช…์”ฉ ๋‚˜์ด์™€ ์ด๋ฆ„์„ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1

3
21 Junkyu
21 Dohyun
20 Sunyoung

์˜ˆ์ œ ์ถœ๋ ฅ 1

20 Sunyoung
21 Junkyu
21 Dohyun

ํ’€์ด

์ฒ˜์Œ์—๋Š” sort๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

vector<pair<int, string>> ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์„œ ๋‚˜์ด์ˆœ์œผ๋กœ sortํ•˜๋ฉด ๋ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ํ•œ๊ฐ€์ง€ ๊ฐ„๊ณผํ•œ ์‚ฌ์‹ค์ด ์žˆ๋‹ค.

sort ํ•จ์ˆ˜๋Š” unstable sort๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•จ์ˆ˜๋ผ์„œ ์กฐ๊ฑด์ด ๊ฐ™์„ ๋•Œ ๊ธฐ์กด์˜ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•œ๋‹ค๋Š” ๋ณด์žฅ์ด ์—†๋‹ค.

๋”ฐ๋ผ์„œ ๊ธฐ์กด์˜ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•ด์ฃผ๋Š” stable_sort๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค.

 

์ฝ”๋“œ

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

using namespace std;

bool Solve(pair<int, string> a, pair<int, string> b) {
    return a.first < b.first;
}

int main()
{
    vector<pair<int, string>> v;
    int n;
    int age;
    string name;
    cin >> n;
    
    for(int i = 0; i < n; i++) {
        cin >> age >> name;
        v.push_back(pair<int, string>(age, name));
    }
    
    stable_sort(v.begin(), v.end(), Solve);
    
    for(int i = 0; i < v.size(); i++) {
        cout << v[i].first << " " << v[i].second << "\n";
    }
    
    return 0;
}

'๐Ÿ–ฅ๏ธ Computer > Algorithm Solution' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BAEKJOON] 27866๋ฒˆ : ๋ฌธ์ž์™€ ๋ฌธ์ž์—ด  (0) 2023.07.25
[BAEKJOON] 1157๋ฒˆ : ๋‹จ์–ด ๊ณต๋ถ€  (0) 2023.07.24
[BAEKJOON] 2960๋ฒˆ : ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด  (0) 2020.07.09
[LeetCode] 389. Find the Difference  (1) 2020.03.25
[LeetCode] 397. Integer Replacement  (0) 2020.03.24
  1. ํ’€์ด
  2. ์ฝ”๋“œ
'๐Ÿ–ฅ๏ธ Computer/Algorithm Solution' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [BAEKJOON] 27866๋ฒˆ : ๋ฌธ์ž์™€ ๋ฌธ์ž์—ด
  • [BAEKJOON] 1157๋ฒˆ : ๋‹จ์–ด ๊ณต๋ถ€
  • [BAEKJOON] 2960๋ฒˆ : ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด
  • [LeetCode] 389. Find the Difference
_์ฃผ๋…ธ
_์ฃผ๋…ธ
_์ฃผ๋…ธ
juno.log
_์ฃผ๋…ธ
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (88)
    • ๐Ÿ’ฌ Language (15)
      • C (1)
      • C++ (1)
      • Java (12)
    • ๐Ÿ–ฅ๏ธ Computer (46)
      • Data Structure (2)
      • Computer Science (3)
      • Algorithm Solution (41)
    • ๐ŸŒฑ Spring (14)
    • ๐Ÿ“ฆ Database (1)
    • ๐Ÿฅณ Project (6)
      • kakao chatbot (6)
    • ๐Ÿ˜† Daily (5)
      • ์žก๋‹ด (5)
      • TIL (0)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ๋ธ”๋กœ๊ทธ ๊ด€๋ฆฌ
  • GitHub
  • Velog

์ธ๊ธฐ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.v4.2.0
_์ฃผ๋…ธ
[BAEKJOON] 10814๋ฒˆ : ๋‚˜์ด์ˆœ ์ •๋ ฌ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.