mooon๐ŸŒ™
STUDY
mooon๐ŸŒ™
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (170)
    • ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ (147)
      • ๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (53)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv1 (13)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์ž…๋ฌธ (54)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] SQL ๊ณ ๋“์  Kit (27)
    • BACK (4)
      • Spring (3)
      • PHP (0)
    • FRONT (5)
    • DevOps (8)
      • Jenkins (8)
    • GitHub๐ŸŒฑ (2)
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (1)
      • SQL (1)
    • Error ๐Ÿ’ฅ (0)
      • php (2)
    • ๐Ÿ˜‹ (1)

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

  • โญ ๊นƒํ—ˆ๋ธŒ
  • ๐Ÿ’• ๋ฐฉ๋ช…๋ก
  • ๐Ÿ’ฅ ํƒœ๊ทธ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ๋ฐฑ์ค€
  • ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • Python
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž…๋ฌธ
  • c++
  • DevOps
  • SQL
  • SQL ๊ณ ๋“์  Kit
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ตœ๊ทผ ๊ธ€

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
mooon๐ŸŒ™

STUDY

์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฐฑ์ค€ 1431 _ ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ

2020. 2. 25. 18:36
728x90

https://www.acmicpc.net/problem/1431

 

1431๋ฒˆ: ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ

์ฒซ์งธ ์ค„์— ๊ธฐํƒ€์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ๊ฐ€ ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ์˜ ๊ธธ์ด๋Š” ์ตœ๋Œ€ 50์ด๊ณ , ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž ๋˜๋Š” ์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด

www.acmicpc.net


โญ ๋‚ด ์†Œ์Šค ์ฝ”๋“œ

#include<iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

//์ •๋ ฌ์„ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜ ์ง€์ •
bool compare(string serial1, string serial2) {
    int sum1 = 0, sum2=0;

    //๋‘ ์‹œ๋ฆฌ์–ผ์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™์ง€ ์•Š์„ ๊ฒฝ์šฐ
    if (serial1.length() != serial2.length()) {
        //๊ธธ์ด ์ˆœ์œผ๋กœ ์ •๋ ฌ
        return serial1.length() < serial2.length();
    }

    //๋‘ ์‹œ๋ฆฌ์–ผ์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™์„ ๊ฒฝ์šฐ
    else if(serial1.length() == serial2.length()){
        for (int i = 0; i < serial1.length(); i++) {
            //์‹œ๋ฆฌ์–ผ ๋ฌธ์ž๋“ค ์ค‘ ์ˆซ์ž์˜ ๊ฐ’๋งŒ ๊ณ„์‚ฐ
            if (isdigit(serial1[i])) {
                sum1 += serial1[i] - 48;
            }
        }
        for (int i = 0; i < serial2.length(); i++) {
            if (isdigit(serial2[i])) {
                sum2 += serial2[i] - 48;
            }
        }
        //๋‘ ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ์˜ ์ˆซ์ž ํ•ฉ๊ณ„๊ฐ€ ๊ฐ™์ง€ ์•Š์„ ๊ฒฝ์šฐ
        if (sum1 != sum2) {
            //ํ•ฉ๊ณ„ ์ˆœ์œผ๋กœ ์ •๋ ฌ
            return sum1 < sum2;
        }
        //๋‘ ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ์˜ ์ˆซ์ž ํ•ฉ๊ณ„๊ฐ€ ๊ฐ™์„ ๊ฒฝ์šฐ
        else {
            //์‚ฌ์ „ ์ˆœ์œผ๋กœ ์ •๋ ฌ
            return serial1 < serial2;
        }

    }
}

int main(void) {
    ios::sync_with_stdio(false);
    cin.tie(NULL);

    int case_count;
    vector <string> vec;
    string test_case;


    cin >> case_count;

    for (int i = 0; i < case_count; i++) {
        cin >> test_case;
        vec.push_back(test_case);
    }
    //์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์ง์ ‘ ์ง€์ •ํ•œ ๋ฐฉ์‹๋Œ€๋กœ ์ •๋ ฌ
    sort(vec.begin(), vec.end(), compare);

    for (int i = 0; i < case_count; i++) {
        cout << vec[i] << endl;
    }


    return 0;
}

 

๐Ÿ™ ๋ฌธ์ œ ํ’€์ด

sort(vec.begin(), vec.end(), compare);
  • algorithm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ sort() ํ•จ์ˆ˜์˜ 3๋ฒˆ์งธ ์ธ์ž ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ ํ•จ์ˆ˜๋ฅผ ๋„ฃ์œผ๋ฉด, ํ•ด๋‹น ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜ ๊ฐ’์— ๋”ฐ๋ผ ์ •๋ ฌ๋จ.
  • sortํ•จ์ˆ˜๋กœ vector๋ฅผ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ• : sort(vec.begin(), vec.end(), (์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜)) / 3๋ฒˆ์งธ ์ธ์ž๋ฅผ ๋„ฃ์ง€ ์•Š์œผ๋ฉด default๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ
728x90
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)
    '์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ๋ฐฑ์ค€ 1874 _ ์Šคํƒ ์ˆ˜์—ด
    • ๋ฐฑ์ค€ 2920 _ ์Œ๊ณ„
    • ๋ฐฑ์ค€ 1152 _ ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜
    • ๋ฐฑ์ค€ 1158 _ ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ
    mooon๐ŸŒ™
    mooon๐ŸŒ™
    ๊ฐœ๋ฐœ ๊ณต๋ถ€ ๊ธฐ๋ก

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