[C++] 백준 17140 - 이차원 배열과 연산

🔐 백준 17140 - 이차원 배열과 연산

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


🔑 풀이

이러한 시뮬레이션 유형의 문제들은 문제가 요구하는 것을 정확히 파악하고, 그에 맞는 함수를

차근차근 구현하면 된다. 문제에서 주어진 조건은 다음과 같다.

- 1초마다 R 연산 또는 C 연산을 수행한다.

  - if 행의 개수 >= 열의 개수 => R 연산 (행 정렬)
  - if 행의 개수 < 열의 개수  => C 연산 (열 정렬)

- 정렬 방법 : 기본적으로 숫자의 등장 횟수를 세야 함

  - 수의 등장 횟수를 기준으로 오름차순 정렬
  - 등장 횟수가 같다면 숫자 기준 오름차순 정렬

주어진 정렬 방법을 적용하기 위해 비교 함수 cmp를 사용하여 구현했으며, 행 크기와 열 크기를

한 사이클마다 비교하며, calculate 함수를 수행해 주었다. R 연산과 C 연산을 하는 함수를 하나의

함수로 만들고 인자로 어떤 연산인지를 알려주는 isRow 를 넘겨주어 각자를 계산하도록 구현하였다.


🧩 코드

Categories:

Updated:

Leave a comment