[백준] 10989번: 수 정렬하기 3 C++로 풀어보기

2023. 8. 5. 22:32·Algorithm/Baekjoon(C++)

10989번 설명

생각

수의 개수가 천만개까지 주어진다. 일반적인 방법을 썼다가는 분명히 시간이든 메모리든 초과가 뜰 것 같다.

 

그래서 그냥 sort는 안될 것 같고, merge sort를 써보기로 하였다.

-> merge sort를 사용해도 메모리 초과가 되었다. 

 

그래서 그냥 sort를 써보았다.

-> 당연히 안됐다.

 

왜 자꾸 메모리 초과가 뜰까? 배열을 천만개를 선언해서 그런가? 그러면 벡터를 써볼까?

-> 그래도 안됐다.

 

그렇다면 주어진 수는 10000보다 작으니, 주어진 수를 10000 크기의 배열에 넣고 그 배열을 순회하면서 배열에 들어간 수만큼 그 숫자를 출력한다.

-> 몇번의 실패끝에, 드디어 성공했다.

 

코드
#include <bits/stdc++.h>
typedef long long ll; // 큰 수가 쓰이므로 int 대신 long long을 쓰기로 했다. long long을 ll로 쓸 수 있다.
using namespace std;
ll arr[10005];


int main(void) {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    ll n;
    cin >> n;
    for (ll i = 0; i < n; i++) { // 만약 5가 입력되면, arr[5]에 숫자가 1 증가된다
        ll x;
        cin >> x;
        arr[x] = arr[x] + 1; 
    }

    for (ll i = 1; i <= 10000; i++) {
        if (arr[i] != 0) { // 0이 아니라면
            for (ll j = 0; j < arr[i]; j++) {
                cout << i << "\n"; // arr[i]에 들어간 숫자만큼 i가 출력된다
            }
        }
    }
}

 

결과

10989번 결과

왜 정답률이 23%인지 알 수 있었다. 앞으로 메모리 관리에도 유의할 것!

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

'Algorithm > Baekjoon(C++)' 카테고리의 다른 글

[백준] 1520번: 내리막 길 C++로 풀어보기  (0) 2023.08.06
[백준] 10814번: 나이순 정렬 C++로 풀어보기  (1) 2023.08.06
[백준] 15665번: N과 M (11) C++로 풀어보기  (0) 2023.07.31
[백준] 2630번: 색종이 만들기 C++로 풀어보기  (0) 2023.07.30
[백준] 7562번: 나이트의 이동 C++로 풀어보기  (1) 2023.07.28
'Algorithm/Baekjoon(C++)' 카테고리의 다른 글
  • [백준] 1520번: 내리막 길 C++로 풀어보기
  • [백준] 10814번: 나이순 정렬 C++로 풀어보기
  • [백준] 15665번: N과 M (11) C++로 풀어보기
  • [백준] 2630번: 색종이 만들기 C++로 풀어보기
퀵차분
퀵차분
Web Developer 🥐
  • 퀵차분
    QC's Devlog
    퀵차분
  • 전체
    오늘
    어제
    • 분류 전체보기 (178)
      • Frontend (31)
      • Fedify (4)
      • Study (42)
        • NestJS (2)
        • Node.js (3)
        • Modern JS Deep Dive (13)
        • SQL (1)
        • Network (1)
        • 프롬프트 엔지니어링 (4)
        • 인공지능 (9)
        • 시스템프로그래밍 (11)
        • 선형대수학 (1)
      • Intern (4)
      • KUIT (21)
      • Algorithm (48)
        • Baekjoon(C++) (26)
        • Programmers(JavaScript) (22)
      • 우아한테크코스(프리코스) (4)
      • Project (10)
        • crohasang_page (3)
        • PROlog (4)
        • Nomadcoder (2)
      • 생각 (4)
      • Event (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    프로그래머스
    알고리즘
    자바스크립트
    typescript
    프로그래머스 자바스크립트
    리액트
    티스토리챌린지
    프론트엔드
    인공지능
    타입스크립트
    오블완
    HTML
    fedify
    react
    음악추천
    백준
    KUIT
    시스템프로그래밍
    javascript
    next.js
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
퀵차분
[백준] 10989번: 수 정렬하기 3 C++로 풀어보기
상단으로

티스토리툴바