아니면
170 2 24 45 66 75 802 90 이런 방식으로 저장이됨??
radix bucket sorting을 map 이나 set 을 쓰겠다고라.
얌마 카운트 소트를 하기위해 이진탐색을 한다는게 말이 됨???
문제의 주 목적은 sorting이 아니라 똑같은 문자를 finding하는건데
그러니까 일련의 단어가 수십만개 주어지고
무슨 소리지? 저거 걍 radix 소트 단계인데?
그중 가장 많이 등장하는 문자를 찾고
만약에 가장 많이 등장하는 문자가 여러개 등장할시 저 위의 방법의 기준으로 젤 첫번째로 나오는거 출력해야된다네요
가장 많이등장하는 문자라기 보다는 단어로바꿔야할듯
예컨데 eee bbb ccc eee doieji eogoe aiojfawe oigjioewj aijojioawief eee 되어있으면 eee를 출력하는방식
저게 radix sort라는거구나..
문자의 등장 빈도는 카운팅을 하면 되는데.
어라 뭐 문자가 아니라 단어라니.
설명이 왜 이따위야 ㅋㅋ
ㅈㅅ...
단어면 단순 카운팅이 아니라 어떤 STL에 넣어줘야하지않나요
니 말대로라면 그냥 map 을 써서 단어와 카운터 를 저장하면 되는데 저장할때, some_map[ 단어 ] = some_map[ 단어 ] + 1; 을 해서 카운터를 ++ 시키면 되는거지.
그런뒤 최대값만 찾으면 되니 이터레이션 해서 카운터 최대값에 해당하는 단어를 갱신하면 됨.
그런데 그렇게 하면 저 radix sort 방식이 아닌데? 뭔가 문제를 잘못 전하는듯?
그러면 카운터 최대값에 해당되는 단어들만 일단 모아놓고 저 radix sorting을 하면되겠군요
ㅇㅇ//예컨데->예컨대 (예컨대 단언컨대 생각건대 하건대 등등..) [리듬 맞춤법 봇♬]
문제는 저게 맞아요
그러니까 aaaaaa bb ccccc라는 단어가 저기서 전부 똑같이 10번씩 나와서 최대값이라할때 저기준으로 bb가 출력되어야겠죠
최대를 찾는 용도로 쓴다면 정렬 자체가 필요없지. 그게 아닌것 같은데?
정말 교수가 map 이나 set 을 쓰라고 하디?
ㄴㄴ 문제 자체는 그냥 어떠한 방법을 써도 좋으니 최대한 수행 시간이 짧게 되도록 하라
이렇게되어있어요
STL을 써도 좋다 이렇게되어있고
저런 예시를 들었다면 저건 map 이나 set 을 쓰란 문제가 아냐.
Map이나 set이 가장 먼저 떠올라서 검토하는중이었어요..
단어의 길이 최대는 정해져 있음?
map 을 쓰면 그 자체로 끝나버리기 땜에 저런 paradigm 이 비집고 들어갈수록 느려짐.
단어길이 50이었나..
네 50이네요 단어갯수는 수십만개
문제도 똑바로 모르고 푸는거임?
50개라... 26 개의 경우의수가 50자리.
그냥 radix 로 가면 사망각인데...
unordered_map 같은 hash 로 카운터를 증가시키며 대입해서 서수를 뽑아내서 처리하는게 좋을듯
서수 필요없이 카운트만 더하면 되겠네.
일단 시도해봐야지.. 감사합니다..
음 그래도 문제랑 안맞다. 뭔가 다른 힌트가 있을것 같은데...
ㅇㅇ//갯수->개수 (개수 (個數)[명사] : 한 개씩 낱으로 셀 수 있는 물건의 수효.) [리듬 맞춤법 봇♬]
일단 대문자 혹은 소문자 한가지로 만 된 알파벳이면 26 가지 경우의수고 그 말은 5비트를 차지한다는거니까 50글자를 5 / 8 로 압축할 수 있다는걸 의미해.
radix bucket sorting을 map 이나 set 을 쓰겠다고라.
얌마 카운트 소트를 하기위해 이진탐색을 한다는게 말이 됨???
문제의 주 목적은 sorting이 아니라 똑같은 문자를 finding하는건데
그러니까 일련의 단어가 수십만개 주어지고
무슨 소리지? 저거 걍 radix 소트 단계인데?
그중 가장 많이 등장하는 문자를 찾고
만약에 가장 많이 등장하는 문자가 여러개 등장할시 저 위의 방법의 기준으로 젤 첫번째로 나오는거 출력해야된다네요
가장 많이등장하는 문자라기 보다는 단어로바꿔야할듯
예컨데 eee bbb ccc eee doieji eogoe aiojfawe oigjioewj aijojioawief eee 되어있으면 eee를 출력하는방식
저게 radix sort라는거구나..
문자의 등장 빈도는 카운팅을 하면 되는데.
어라 뭐 문자가 아니라 단어라니.
설명이 왜 이따위야 ㅋㅋ
ㅈㅅ...
단어면 단순 카운팅이 아니라 어떤 STL에 넣어줘야하지않나요
니 말대로라면 그냥 map 을 써서 단어와 카운터 를 저장하면 되는데 저장할때, some_map[ 단어 ] = some_map[ 단어 ] + 1; 을 해서 카운터를 ++ 시키면 되는거지.
그런뒤 최대값만 찾으면 되니 이터레이션 해서 카운터 최대값에 해당하는 단어를 갱신하면 됨.
그런데 그렇게 하면 저 radix sort 방식이 아닌데? 뭔가 문제를 잘못 전하는듯?
그러면 카운터 최대값에 해당되는 단어들만 일단 모아놓고 저 radix sorting을 하면되겠군요
ㅇㅇ//예컨데->예컨대 (예컨대 단언컨대 생각건대 하건대 등등..) [리듬 맞춤법 봇♬]
문제는 저게 맞아요
그러니까 aaaaaa bb ccccc라는 단어가 저기서 전부 똑같이 10번씩 나와서 최대값이라할때 저기준으로 bb가 출력되어야겠죠
최대를 찾는 용도로 쓴다면 정렬 자체가 필요없지. 그게 아닌것 같은데?
정말 교수가 map 이나 set 을 쓰라고 하디?
ㄴㄴ 문제 자체는 그냥 어떠한 방법을 써도 좋으니 최대한 수행 시간이 짧게 되도록 하라
이렇게되어있어요
STL을 써도 좋다 이렇게되어있고
저런 예시를 들었다면 저건 map 이나 set 을 쓰란 문제가 아냐.
Map이나 set이 가장 먼저 떠올라서 검토하는중이었어요..
단어의 길이 최대는 정해져 있음?
map 을 쓰면 그 자체로 끝나버리기 땜에 저런 paradigm 이 비집고 들어갈수록 느려짐.
단어길이 50이었나..
네 50이네요 단어갯수는 수십만개
문제도 똑바로 모르고 푸는거임?
50개라... 26 개의 경우의수가 50자리.
그냥 radix 로 가면 사망각인데...
unordered_map 같은 hash 로 카운터를 증가시키며 대입해서 서수를 뽑아내서 처리하는게 좋을듯
서수 필요없이 카운트만 더하면 되겠네.
일단 시도해봐야지.. 감사합니다..
음 그래도 문제랑 안맞다. 뭔가 다른 힌트가 있을것 같은데...
ㅇㅇ//갯수->개수 (개수 (個數)[명사] : 한 개씩 낱으로 셀 수 있는 물건의 수효.) [리듬 맞춤법 봇♬]
일단 대문자 혹은 소문자 한가지로 만 된 알파벳이면 26 가지 경우의수고 그 말은 5비트를 차지한다는거니까 50글자를 5 / 8 로 압축할 수 있다는걸 의미해.