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

Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(Programmers)86

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ด„ํ˜ธ ํšŒ์ „ํ•˜๊ธฐ(Level 2) ๋ฌธ์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ด„ํ˜ธ ํšŒ์ „ํ•˜๊ธฐ programmers.co.kr ์ฝ”๋“œ #include #include #include #include using namespace std; bool isOk(string s){ stack st; for(char c : s){ if(c==']'||c==')'||c=='}'){ if(st.empty()) return false; else if(c==']'&&st.top()=='[') st.pop(); else if(c==')'&&st.top()=='(') st.pop(); else if(c=='}'&&st.top()=='{') st.pop(); } else st.push(c); } if(st.empty()) return true; return false; } int s.. 2022. 4. 19.
[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ „๋ ฅ๋ง์„ ๋‘˜๋กœ ๋‚˜๋ˆ„๊ธฐ(Level 2) ๋ฌธ์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ „๋ ฅ๋ง์„ ๋‘˜๋กœ ๋‚˜๋ˆ„๊ธฐ 9 [[1,3],[2,3],[3,4],[4,5],[4,6],[4,7],[7,8],[7,9]] 3 7 [[1,2],[2,7],[3,7],[3,4],[4,5],[6,7]] 1 programmers.co.kr ์ฝ”๋“œ #include #include #include using namespace std; vectorgraph[101]; vectordivide; bool visited[101]; int group_cnt; int node_cnt[2]; void dfs(int node, pair cut){ visited[node] = 1; node_cnt[group_cnt]++; for(int i=0; i 2022. 4. 18.
[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋‹ค์Œ ํฐ ์ˆซ์ž(Level 2) ๋ฌธ์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋‹ค์Œ ํฐ ์ˆซ์ž ์ž์—ฐ์ˆ˜ n์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, n์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ ํ•ฉ๋‹ˆ๋‹ค. ์กฐ๊ฑด 1. n์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž๋Š” n๋ณด๋‹ค ํฐ ์ž์—ฐ์ˆ˜ ์ž…๋‹ˆ๋‹ค. ์กฐ๊ฑด 2. n์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž์™€ n์€ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ–ˆ์„ ๋•Œ 1์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๊ฐ™์Šต๋‹ˆ programmers.co.kr ์ฝ”๋“œ #include #include #include using namespace std; string binary(int n){ string bit = ""; while(n!=0){ bit+= to_string(n%2); n/=2; } reverse(bit.begin(), bit.end()); return bit; } int one_check(string bit){ int cnt = 0; for(char c : bit){ .. 2022. 4. 18.
[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ(Level 2) ๋ฌธ์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๊ด„ํ˜ธ๊ฐ€ ๋ฐ”๋ฅด๊ฒŒ ์ง์ง€์–ด์กŒ๋‹ค๋Š” ๊ฒƒ์€ '(' ๋ฌธ์ž๋กœ ์—ด๋ ธ์œผ๋ฉด ๋ฐ˜๋“œ์‹œ ์ง์ง€์–ด์„œ ')' ๋ฌธ์ž๋กœ ๋‹ซํ˜€์•ผ ํ•œ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "()()" ๋˜๋Š” "(())()" ๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์ž…๋‹ˆ๋‹ค. ")()(" ๋˜๋Š” "(()(" ๋Š” ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ programmers.co.kr ์ฝ”๋“œ #include #include using namespace std; bool solution(string s){ stackst; for(char c:s){ if(c==')'){ if(st.empty()) return false; else st.pop(); } else st.push(c); } if(st.empty()) return true; return false; } ํ’€์ด(4๋ถ„) ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. '(.. 2022. 4. 18.
[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋•…๋”ฐ๋จน๊ธฐ(Level 2) ๋ฌธ์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋•…๋”ฐ๋จน๊ธฐ ๋•…๋”ฐ๋จน๊ธฐ ๊ฒŒ์ž„์„ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋•…๋”ฐ๋จน๊ธฐ ๊ฒŒ์ž„์˜ ๋•…(land)์€ ์ด Nํ–‰ 4์—ด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๋ชจ๋“  ์นธ์—๋Š” ์ ์ˆ˜๊ฐ€ ์“ฐ์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค. 1ํ–‰๋ถ€ํ„ฐ ๋•…์„ ๋ฐŸ์œผ๋ฉฐ ํ•œ ํ–‰์”ฉ ๋‚ด๋ ค์˜ฌ ๋•Œ, ๊ฐ ํ–‰์˜ 4์นธ ์ค‘ ํ•œ ์นธ๋งŒ ๋ฐŸ programmers.co.kr ํ’€์ด #include #include #include using namespace std; int dp[100001][4]; int solution(vector land) { int answer = 0; int len = land.size(); for(int i=0; i 2022. 4. 18.
[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ตœ์†Ÿ๊ฐ’ ๋งŒ๋“ค๊ธฐ(Level 2) ๋ฌธ์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ตœ์†Ÿ๊ฐ’ ๋งŒ๋“ค๊ธฐ ๊ธธ์ด๊ฐ€ ๊ฐ™์€ ๋ฐฐ์—ด A, B ๋‘๊ฐœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ฐฐ์—ด์€ ์ž์—ฐ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐ์—ด A, B์—์„œ ๊ฐ๊ฐ ํ•œ ๊ฐœ์˜ ์ˆซ์ž๋ฅผ ๋ฝ‘์•„ ๋‘ ์ˆ˜๋ฅผ ๊ณฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณตํ•˜๋ฉฐ, ๋‘ ์ˆ˜๋ฅผ ๊ณฑ programmers.co.kr ์ฝ”๋“œ #include #include #include using namespace std; int solution(vector A, vector B) { int answer = 0; sort(A.begin(), A.end()); sort(B.begin(),B.end(),greater()); for(int i=0; i 2022. 4. 18.
[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํ›„๋ณดํ‚ค(Level 2) ๋ฌธ์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํ›„๋ณดํ‚ค [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr ํ’€์ด #include #include #include #include #include using namespace std; map uniqueness_table; vector uniqueness_vec; set candidate; bool cmp(string s1, string s2){ if(s1.length()!=s2.size()) .. 2022. 4. 17.
[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์นดํŽซ(Level 2) ๋ฌธ์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์นดํŽซ Leo๋Š” ์นดํŽซ์„ ์‚ฌ๋Ÿฌ ๊ฐ”๋‹ค๊ฐ€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ค‘์•™์—๋Š” ๋…ธ๋ž€์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๊ณ  ํ…Œ๋‘๋ฆฌ 1์ค„์€ ๊ฐˆ์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๋Š” ๊ฒฉ์ž ๋ชจ์–‘ ์นดํŽซ์„ ๋ดค์Šต๋‹ˆ๋‹ค. Leo๋Š” ์ง‘์œผ๋กœ ๋Œ์•„์™€์„œ ์•„๊นŒ ๋ณธ ์นดํŽซ์˜ ๋…ธ๋ž€์ƒ‰๊ณผ programmers.co.kr ์ฝ”๋“œ #include #include using namespace std; struct Coordinate{ int x; int y; }; vector solution(int brown, int yellow) { vector answer; vector v; int x=1; int y = brown+yellow; while(x 2022. 4. 14.
[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - 124 ๋‚˜๋ผ์˜ ์ˆซ์ž(Level 2) ๋ฌธ์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 124 ๋‚˜๋ผ์˜ ์ˆซ์ž programmers.co.kr ์ฝ”๋“œ #include #include #include using namespace std; string solution(int n) { string answer = ""; while(n){ bool flag = false; if(n%3==0){ answer+='4'; flag = true; } if(n%3==1) answer+='1'; if(n%3==2) answer+='2'; n/=3; if(flag) n-=1; } reverse(answer.begin(),answer.end()); return answer; } ํ’€์ด N % 3 == 0 ์ผ ๋•Œ 4 N % 3 == 1 ์ผ๋•Œ 1 N % 3 == 2 ์ผ๋•Œ 2 ์œ„ ๊ทœ์น™์œผ๋กœ 124๋‚˜๋ผ.. 2022. 4. 14.