๐ ์๊ณ ๋ฆฌ์ฆ (130) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [PGS] Lv.0 (์ฝ๋ฉํ ์คํธ ์ ๋ฌธ) 12์ผ์ฐจ ๋ฌธ์ ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ 0 ๋ฌธ์์ด, ์ ๋ ฌ, ์ฌ์น์ฐ์ฐ, ์ํ โ๐ป ๋ฌธ์์ด ๋์ฒด → my_string.replace(j,1,""); : ์ธ๋ฑ์ค j์ ์์๋ถํฐ ๊ธธ์ด 1๋งํผ์ “”๋ก ๋์ฒด โ๐ป ๋ฌธ์ ๋ด์ฉ์ด ์ซ์์ธ์ง? → isdigit(c) : ์ซ์๋ฉด ์์, ์๋๋ฉด 0์ ๋ฆฌํดํจ โ๐ป vector to set → set s(v.begin(), v.end()); โ๐ป set to vector → vector v(s.begin(), s.end()); ๋ชจ์ ์ ๊ฑฐ string solution(string my_string) { string m = "aeiou"; for(int i=0; i [PGS] Lv.0 (์ฝ๋ฉํ ์คํธ ์ ๋ฌธ) 11์ผ์ฐจ ๋ฌธ์ ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ 0 ์ํ, ๋ฐ๋ณต๋ฌธ ์ฃผ์ฌ์์ ๊ฐ์ int solution(vector box, int n) { int a = box[0]/n; int b = box[1]/n; int c = box[2]/n; int answer = a*b*c; return answer; } ํฉ์ฑ์ ์ฐพ๊ธฐ int solution(int n) { int answer = 0; for(int i=4; i [PGS] Lv.0 (์ฝ๋ฉํ ์คํธ ์ ๋ฌธ) 10์ผ์ฐจ ๋ฌธ์ โ๐ป ๋ฒกํฐ numbers ์ tmp ์ฐ๊ฒฐํ๊ธฐ (ํฉ์น๊ธฐ) → numbers.insert( numbers.end(), tmp.begin(), tmp.end() ) โ๐ป ๋ฒกํฐ์ ์ฒซ ์์ ์ญ์ ํ๊ธฐ → v.erase( v.begin() ) ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ 0 ์กฐ๊ฑด๋ฌธ, ๋ฐฐ์ด, ์ํ, ์๋ฎฌ๋ ์ด์ ์ ์ ์์น ๊ตฌํ๊ธฐ int solution(vector dot) { if(dot[0]>0 && dot[1]>0) return 1; if(dot[0]0) return 2; if(dot[0] [์ฝ๋ํธ๋ฆฌ] TreeSet ์ฐ์ต๋ฌธ์ ๋ฌธ์ : top K ์ซ์ n๊ฐ์ ์ซ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ค๋ณต์ ์ ์ธํ๊ณ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ์ ๋ ์์ ์๋ k๊ฐ์ ์ซ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํด๋ณด์ธ์. ์ ๋ ฅ ํ์ ์ฒซ ๋ฒ์งธ ์ค์๋ ์์์ ๊ฐ์ n๊ณผ k๊ฐ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋๋ค. ๋ ๋ฒ์งธ ์ค์๋ n๊ฐ์ ์์๊ฐ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋๋ค. 1 ≤ k ≤ n ≤ 100,000 1 ≤ ์ฃผ์ด์ง๋ ์์ ๊ฐ ≤ 109 ์ถ๋ ฅ ํ์ ์ค๋ณต์ ์ ์ธํ๊ณ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ์ ๋ ์์ ์๋ k๊ฐ์ ์ซ์๋ฅผ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์ถ๋ ฅํฉ๋๋ค. ์ค๋ณต์ ์ ์ธํ์ ๋ ์์์ ๊ฐ์๊ฐ k๋ณด๋ค ์์ ๊ฒฝ์ฐ๋ ์๋ค๊ณ ๊ฐ์ ํด๋ ์ข์ต๋๋ค. ๋์ ํ์ด #include #include using namespace std; int main() { int n; int k; int a; set s.. [์ฝ๋ํธ๋ฆฌ] Tree Set SW์ค์ฌ๋ํ ์ฌ์ ๋จ์์ CodeTree์ ํจ๊ป ์ค์ํ ์ฝ๋ฉํ ์คํธ ๋๋น ์บ ํ์ ์ฐธ์ฌํ์ฌ ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ์์ต๋๋ค. * ์ฐธ๊ณ : python๊ณผ c++, java ๋ฑ ์ธ์ด๋ณ๋ก ์ค๋ช ์ด ๋ค๋ฅธ ๋ถ๋ถ ์กด์ฌ! ํ์๋ c++ ์ฌ์ฉ. set STL C++์์๋ set์ด๋ผ๋ STL์ ์ด์ฉํ ์ ์์ต๋๋ค. set์ TreeSet ์๋ฃ๊ตฌ์กฐ๋ก ๋์ด์์ผ๋ฉฐ, ์ด TreeSet์ด ๋ฐ๋ก ๊ท ํ ์กํ ์ด์งํธ๋ฆฌ ๊ตฌ์กฐ๋ก ๋ฐ์ดํฐ๋ค์ ๊ด๋ฆฌํด์ฃผ๋ ์๋ฃ๊ตฌ์กฐ ์ ๋๋ค. ๋ชจ๋ ํจ์์ ์๊ฐ๋ณต์ก๋๋ O(logN)์ ๋๋ค. set์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ #include ํค๋์, set name; ํํ์ ์ ์ธ์ด ํ์ํฉ๋๋ค. T๋ ํ์ ์ผ๋ก, set ์์ ๋ค์ด๊ฐ ์์์ ํ์ ์ ์ ์ด์ค์ผ ํฉ๋๋ค. #include #include using namespace std; in.. [์ฝ๋ํธ๋ฆฌ] Hash Set ์ฐ์ต๋ฌธ์ ๋ฌธ์ : ๋ฐ์ดํฐ ๋น๊ต ์ ์๋ก ์ด๋ฃจ์ด์ง ๋ ์์ด์ ๋น๊ตํ์ฌ ๊ฐ์ ์์๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ํ๋จํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํด ๋ณด์ธ์. ์ ๋ ฅ ํ์ ์ฒซ ๋ฒ์งธ ์ค์๋ ์์ด 1์ ์์์ ๊ฐ์ n์ด ์ฃผ์ด์ง๋๋ค. ๋ ๋ฒ์งธ ์ค์๋ ์์ด 1์ ์์๋ค์ด ๊ณต๋ฐฑ์ ๋๊ณ ์ฃผ์ด์ง๋๋ค. ์ธ ๋ฒ์งธ ์ค์๋ ์์ด 2์ ์์์ ๊ฐ์ m์ด ์ฃผ์ด์ง๋๋ค. ๋ค ๋ฒ์งธ ์ค์๋ ์์ด 2์ ์์๋ค์ด ๊ณต๋ฐฑ์ ๋๊ณ ์ฃผ์ด์ง๋๋ค. 1 ≤ n, m ≤ 100,000 −109 ≤ ์ฃผ์ด์ง๋ ์ซ์์ ๋ฒ์ ≤ 109 ์ถ๋ ฅ ํ์ ์์ด 2์ ์์์ ์์๋๋ก ๊ทธ ์์๊ฐ ์์ด 1์ ์กด์ฌํ๋ ์์์ด๋ฉด 1์, ์์ด 1์ ์กด์ฌํ์ง ์๋ ์์์ด๋ฉด 0์ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์ถ๋ ฅํฉ๋๋ค. ๋์ ํ์ด #include #include using namespace std; int main() { unor.. [์ฝ๋ํธ๋ฆฌ] Hash Set SW์ค์ฌ๋ํ ์ฌ์ ๋จ์์ CodeTree์ ํจ๊ป ์ค์ํ ์ฝ๋ฉํ ์คํธ ๋๋น ์บ ํ์ ์ฐธ์ฌํ์ฌ ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ์์ต๋๋ค. * ์ฐธ๊ณ : python๊ณผ c++, java ๋ฑ ์ธ์ด๋ณ๋ก ์ค๋ช ์ด ๋ค๋ฅธ ๋ถ๋ถ ์กด์ฌ! ํ์๋ c++ ์ฌ์ฉ. unordered_set STL C++์์๋ unordered_set์ด๋ผ๋ STL์ ์ด์ฉํ ์ ์์ต๋๋ค. unordered_set์ HashSet ์๋ฃ๊ตฌ์กฐ๋ก ๋์ด์์ผ๋ฉฐ, ์ด HashSet์ด ๋ฐ๋ก ํด์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ค์ ๊ด๋ฆฌํด์ฃผ๋ ์๋ฃ๊ตฌ์กฐ ์ ๋๋ค. ๋ชจ๋ ํจ์์ ์๊ฐ๋ณต์ก๋๋ O(1)์ ๋๋ค. unordered_set์ set๋ณด๋ค ์๋๊ฐ ๋น ๋ฅด์ง๋ง, ๊ฐ์ ์กด์ฌ ์ฌ๋ถ์๋ง ๊ด์ฌ์ด ์์ง ๊ทธ ์์์๋ ์ ํ ๊ด์ฌ์ด ์๋ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. #include ํค๋์, unordered_set name; ํํ์.. [์ฝ๋ํธ๋ฆฌ] TreeMap ์ฐ์ต๋ฌธ์ ๋ฌธ์ n๊ฐ์ ๋ช ๋ น์ด ์ฃผ์ด์ก์ ๋, ๊ฐ ๋ช ๋ น์ ์ํํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํด๋ณด์ธ์. ๋ช ๋ น์ ์ข ๋ฅ๋ ํฌ๊ฒ 4๊ฐ์ง ์ ๋๋ค. add k v : (k, v) ์์ treemap์ ์ถ๊ฐํฉ๋๋ค. key๊ฐ k, value๊ฐ v๋ผ๋ ๋ป์ ๋๋ค. ์ด๋ ๋ง์ฝ ๋์ผํ k๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ค๋ฉด, v๋ก ๋ฎ์ด์๋๋ค. remove k : key๊ฐ k์ธ ์์ ์ฐพ์ treemap์์ ์ ๊ฑฐํฉ๋๋ค. ์๋ชป๋ ์ ๋ ฅ์ ์ฃผ์ด์ง์ง ์์ต๋๋ค. find k : key๊ฐ k์ธ ์์ด treemap์ ์๋์ง๋ฅผ ํ๋จํฉ๋๋ค. ์๋ค๋ฉด ํด๋นํ๋ value๋ฅผ ์ถ๋ ฅํ๊ณ , ์๋ค๋ฉด None์ ์ถ๋ ฅํฉ๋๋ค. print_list : treemap์ ์๋ ์๋ค์ key ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ์ฌ ๊ฐ value ๊ฐ๋ค๋ง ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์์๋๋ก ์ถ๋ ฅํฉ๋๋ค. ๋ง์ฝ treemap์ด ๋น์ด์๋ค.. ์ด์ 1 ยทยทยท 10 11 12 13 14 15 16 17 ๋ค์