λ¬Έμ μ€λͺ
μ¬λ¬ κ°μ μ λ§λκΈ°λ₯Ό λ μ΄μ λ‘ μ λ¨νλ €κ³ ν©λλ€. ν¨μ¨μ μΈ μμ μ μν΄μ μ λ§λκΈ°λ₯Ό μλμμ μλ‘ κ²Ήμ³ λκ³ , λ μ΄μ λ₯Ό μμμ μμ§μΌλ‘ λ°μ¬νμ¬ μ λ§λκΈ°λ€μ μλ¦ λλ€. μ λ§λκΈ°μ λ μ΄μ μ λ°°μΉλ λ€μ 쑰건μ λ§μ‘±ν©λλ€.
- μ λ§λκΈ°λ μμ λ³΄λ€ κΈ΄ μ λ§λκΈ° μμλ§ λμΌ μ μμ΅λλ€. - μ λ§λκΈ°λ₯Ό λ€λ₯Έ μ λ§λκΈ° μμ λλ κ²½μ° μμ ν ν¬ν¨λλλ‘ λλ, λμ μ κ²ΉμΉμ§ μλλ‘ λμ΅λλ€. - κ° μ λ§λκΈ°λ₯Ό μλ₯΄λ λ μ΄μ λ μ μ΄λ νλ μ‘΄μ¬ν©λλ€. - λ μ΄μ λ μ΄λ€ μ λ§λκΈ°μ μ λμ κ³Όλ κ²ΉμΉμ§ μμ΅λλ€.
μλ κ·Έλ¦Όμ μ 쑰건μ λ§μ‘±νλ μλ₯Ό 보μ¬μ€λλ€. μνμΌλ‘ κ·Έλ €μ§ κ΅΅μ μ€μ μ μ λ§λκΈ°μ΄κ³ , μ μ λ μ΄μ μ μμΉ, μμ§μΌλ‘ κ·Έλ €μ§ μ μ νμ΄νλ λ μ΄μ μ λ°μ¬ λ°©ν₯μ λλ€.
μ΄λ¬ν λ μ΄μ μ μ λ§λκΈ°μ λ°°μΉλ λ€μκ³Ό κ°μ΄ κ΄νΈλ₯Ό μ΄μ©νμ¬ μΌμͺ½λΆν° μμλλ‘ ννν μ μμ΅λλ€.
(a) λ μ΄μ λ μ¬λ κ΄νΈμ λ«λ κ΄νΈμ μΈμ ν μ '()'μΌλ‘ ννν©λλ€. λν λͺ¨λ '()'λ λ°λμ λ μ΄μ λ₯Ό ννν©λλ€. (b) μ λ§λκΈ°μ μΌμͺ½ λμ μ¬λ κ΄νΈ '('λ‘, μ€λ₯Έμͺ½ λμ λ«ν κ΄νΈ ')'λ‘ ννλ©λλ€.
μ μμ κ΄νΈ ννμ κ·Έλ¦Ό μμ μ£Όμ΄μ Έ μμ΅λλ€.
μ λ§λκΈ°λ λ μ΄μ μ μν΄ λͺ κ°μ μ‘°κ°μΌλ‘ μ리λλ°, μ μμμ κ°μ₯ μμ μλ λ κ°μ μ λ§λκΈ°λ κ°κ° 3κ°μ 2κ°μ μ‘°κ°μΌλ‘ μλ¦¬κ³ , μ΄μ κ°μ λ°©μμΌλ‘ μ£Όμ΄μ§ μ λ§λκΈ°λ€μ μ΄ 17κ°μ μ‘°κ°μΌλ‘ μ립λλ€.
μ λ§λκΈ°μ λ μ΄μ μ λ°°μΉλ₯Ό ννν λ¬Έμμ΄ arrangementκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, μλ¦° μ λ§λκΈ° μ‘°κ°μ μ΄ κ°μλ₯Ό return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- arrangementμ κΈΈμ΄λ μ΅λ 100,000μ λλ€.
- arrangementμ μ¬λ κ΄νΈμ λ«λ κ΄νΈλ νμ μμ μ΄λ£Ήλλ€.
μ μΆλ ₯ μ
arrangementreturn
()(((()())(())()))(()) | 17 |
μ½λ
#include <string>
#include <vector>
using namespace std;
int solution(string arrangement) {
int answer = 0;
int a = 0, b = 0;
char temp = 0;
vector<char> v;
v.clear();
for(int i = arrangement.length() - 1; i >= 0; i--) {
v.push_back(arrangement[i]);
}
while(!(v.empty())) {
temp = v.back();
v.pop_back();
if (temp == '(' && v.back() == '(') {
a+=1;
}
else if (temp == ')'){
b+=1;
a-=1;
}
else if (temp == '(' && v.back() == ')') {
v.pop_back();
answer += (a + b);
b=0;
}
}
if(b!=0)
answer+=b;
return answer;
}
https://programmers.co.kr/learn/courses/30/lessons/42585
'π₯οΈ Computer > Algorithm Solution' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BAEKJOON] 1032λ² : λͺ λ Ήν둬ννΈ (0) | 2020.02.21 |
---|---|
[BAEKJOON] 3052λ² : λλ¨Έμ§ (0) | 2020.02.19 |
[BAEKJOON] 2750λ² : μ μ λ ¬νκΈ° (0) | 2020.02.12 |
[BAEKJOON] 2941λ² : ν¬λ‘μν°μ μνλ²³ (0) | 2020.02.12 |
[BAEKJOON] 1159λ² : λꡬ κ²½κΈ° (0) | 2020.02.11 |