Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- Beakjoon
- vscode
- Baekjoon
- python
- 나이순정렬
- 정렬알고리즘
- 인생의베일
- 동전0
- Selction Sort
- 서머싯몸
- 정대건
- 리솜포레스트
- osaka
- Algorithm
- 헤브나인스파
- 민음사
- bubble sort
- 11403번
- 10814번
- 레스트리s20
- 11047번
- 2858번
- 민음사북클럽
- 기숙사 바닥
- 2025
- 리솜리조트
- Sort Algorithm
- 경로 찾기
- Anaconda
- insertion sort
Archives
- Today
- Total
JIyeon's life
[Baekjoon] 10814 나이순 정렬 본문
알고리즘 분류
정렬
문제 - https://www.acmicpc.net/problem/10814
-문제-
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오.
-입력조건-
첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000)
둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수이고, 이름은 알파벳 대소문자로 이루어져 있고, 길이가 100보다 작거나 같은 문자열이다. 입력은 가입한 순서로 주어진다.
-해결방법-
1. 구조체 선언(나이, 이름, 가입순서)
2. 구조체 타입의 vector선언
3. 입력받기
4. algorihtm 헤더파일의 sort()이용
4.1 age가 같으면 순서번호가 작은 것 부터
4.2 age값이 같지 않으면 age가 작은 것 부터
5. print
처음에 소스코드를 짜고 시간초과가 나서 어떻게 하면 더 빠르게 할 수 있을까 고민했는데
답은 출력할때 'endl'이 시간이 많이 차지 한다는 것을 알고 '\n'으로 수정
허무허무 ~_~
<소스코드>
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
struct member { //구조체 선언
int age;
string name;
int num;
};
bool comp(const member &a, const member &b) { //비교하는 함수
if (a.age == b.age)
return a.num < b.num;
else
return a.age < b.age;
}
int main()
{
int N;
cin >> N;
vector<member> online;
for (int i = 0; i < N; i++) {
int a;
string n;
int num;
cin >> a >> n;
member m = { a,n,i + 1 };
online.push_back(m);
}
sort(online.begin(), online.end(),comp);
for (int i = 0; i < N; i++)
cout << online[i].age << " " << online[i].name << '\n'; //가장중요!!ㅋㅋ
return 0;
}
'algorithm > baekjoon' 카테고리의 다른 글
[Baekjoon] 11047 동전 0 (0) | 2021.11.07 |
---|---|
[Baekjoon] 2589 기숙사 바닥 (0) | 2019.05.01 |
[Baekjoon] 11403 경로 찾기 (0) | 2019.04.09 |
[Baekjoon] 1012 유기농배추 (0) | 2019.03.13 |
[Baekjoon] 5567 결혼식 (0) | 2019.02.12 |