๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜

(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์ด ๋น„์–ด์žˆ๋‹ค..