문제풀이
- 삼성 문제가 그렇듯 문제에 나와있는대로 구현하면된다.
- 최대 나올수 있는 숫자는 100이다. 숫자의 개수가 최대 100개이고 넣을 수 있는 MAX값도 100보다 작거나 같은 자연수이기 때문에 최대 100이다.
아래는 r연산에 대한 구현 방법이다.
- 원본배열(a배열)의 각 행에 있는 숫자의 개수를 count(num배열) 한다.
- 1~100까지 해당 값이 하나라도 포함되어 있으면 list에 new Node(value,cnt)형태로 담아준다. 이때 count한 배열의 값은 0으로 돌려놓는다.
- 정렬 기준에 맞춰 정렬한다.
- list를 순회하며 최대 100개까지 원본 배열에 담는다.
- 각 행의 length를 count하여 저장해준다.(nIdx배열)
- 각 행의 length중 최대 length를 원본 배열의 열의 길이(mCnt변수)로 정한다.
- 현재 행의 length가 열의 길이보다 작을 경우 나머지 값들을 0으로 바꿔준다.
코드
solution
문제링크
boj/17140