From 10ee7c0effffd80658b3cb1efcbb1eac045fc103 Mon Sep 17 00:00:00 2001 From: Minji Kim Date: Thu, 8 Sep 2022 02:44:33 +0900 Subject: [PATCH] =?UTF-8?q?[=EC=A0=95=EB=A0=AC]=209=EC=9B=94=208=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../11651.cpp" | 33 ++++++++++ .../1431.cpp" | 60 +++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 "9\354\233\224 2\354\235\274 - \354\240\225\353\240\254/11651.cpp" create mode 100644 "9\354\233\224 2\354\235\274 - \354\240\225\353\240\254/1431.cpp" diff --git "a/9\354\233\224 2\354\235\274 - \354\240\225\353\240\254/11651.cpp" "b/9\354\233\224 2\354\235\274 - \354\240\225\353\240\254/11651.cpp" new file mode 100644 index 0000000..038c247 --- /dev/null +++ "b/9\354\233\224 2\354\235\274 - \354\240\225\353\240\254/11651.cpp" @@ -0,0 +1,33 @@ +#include +#include +#include + +using namespace std; + +struct point { //점 구조체 + int x, y; +}; + +bool cmp(const point &a, const point &b) { + if (a.y == b.y) { //y좌표가 같으면 x좌표가 증가하는 순서 + return a.x < b.x; + } + return a.y < b.y; //y좌표가 같지 않으면 y좌표가 증가하는 순서 +} + +int main() { + int n; + cin >> n; //점의 개수 + vector arr(n); + for (int i = 0; i < n; i++) { //x좌표, y좌표 입력 + cin >> arr[i].x >> arr[i].y; + } + //연산 + sort(arr.begin(), arr.end(), cmp); + + //출력 + for (int i = 0; i < n; i++) { + cout << arr[i].x << ' ' << arr[i].y << '\n'; + } + return 0; +} \ No newline at end of file diff --git "a/9\354\233\224 2\354\235\274 - \354\240\225\353\240\254/1431.cpp" "b/9\354\233\224 2\354\235\274 - \354\240\225\353\240\254/1431.cpp" new file mode 100644 index 0000000..e98860c --- /dev/null +++ "b/9\354\233\224 2\354\235\274 - \354\240\225\353\240\254/1431.cpp" @@ -0,0 +1,60 @@ +#include +#include +#include + +using namespace std; + + +bool cmp(const string &a, const string &b) { + int a_sum=0, b_sum=0; + + if (a.size() != b.size()){ //a와 b 길이가 다를 경우 + return a.size() < b.size(); + } + + //a와 b 길이가 같을 경우 + + //a의 모든 자리수의 합 구하기 + for(int i=0; i= 0){ + a_sum += a[i] - '0'; + } + } + + //b의 모든 자리수의 합 구하기 + for(int i=0; i= 0){ + b_sum += b[i] - '0'; + } + } + + + //만약 1,2번 조건으로 비교할 수 없을 때(자리수의 합이 같을 때) + if (a_sum==b_sum){ + return a> n; //기타의 개수 입력 + + vector arr(n); + + for (int i=0; i> arr[i]; //시리얼 번호 입력 + } + + //연산 + sort(arr.begin(), arr.end(), cmp); + + //출력 + for (int i = 0; i < n; i++) { + cout << arr[i] << '\n'; + } + return 0; +} \ No newline at end of file