백준 11652 : 카드

혀니앤·2021년 3월 10일
0

C++ 알고리즘

목록 보기
31/118

★★★☆☆

class 만들어서 용량 적게 쓰려고 했다가 시간초과....
알고리즘수정했는데 제대로 수정을 못해서 엄청난 오답을 겪었다...
숫자 범위를 잘못설정해서 overflow가 발생하기도 했다 8ㅅ8

<나의 풀이 >

  1. Class에 숫자와 count 값을 넣고, for문을 이용하여 새로운 값을 넣을때마다 count 값을 증가시킨다.
    어떤 class에 값이 있는지 찾는데에 시간이 오래걸려 효율성이 낮았다.

  2. 일단 vector에 넣은 후, 정렬한 다음 횟수를 count한다.
    시간이 짧지만, 용량이 많이 낭비될 수 있었다.

https://github.com/jeongopo/DaliyCodeCpp/commit/96aa1e638f85919ac09cda5d08c3282f191e5fbd

<다른 사람의 풀이>

Map 을 사용하여, 해당 숫자값에 해당하는 count 값을 1:1 대응시켜준다.
배열과 같이, map[num]의 형태로 데이터를 저장할 수 있지만, 음수값까지 활용할 수 있는 key라는 점에서 배열보다 훨씬 효율성이 높았다.

https://ldgeao99.tistory.com/380

profile
일단 시작하기

0개의 댓글