You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
때문에 isStartOpen이라는 Bool 값을 이용해서 "("로 시작하는지를 판단해 주었다. ")"가 등장했을 때 카운트를 하나씩 줄이는데, openCount가 0일 때 ")"가 등장하면 안되기 때문에 false로 전환해주었다.
(사실 이건 처음에 "("로 시작해주는지를 판단해줄 뿐만 아니라 "())(()" 이런 상황처럼 "("가 등장하지 않았는데 ")"가 먼저 등장하는 경우도 방지한다.)
🙋🏼 문제
올바른 괄호
💡 풀이
우선적으로 따져야 할 것 리스트를 정리했다.
뭔가 고등 수학 중에 확률과 통계에서 비슷한 문제를 봤던 것 같아서 거기서 해결책을 떠올림coding_test_practice/coding_test_practice/240627_12909.swift
Line 14 in 842a67e
String 값을 배열에 하나씩 넣기 위해서 map을 사용했다.
coding_test_practice/coding_test_practice/240627_12909.swift
Line 13 in 842a67e
coding_test_practice/coding_test_practice/240627_12909.swift
Lines 17 to 27 in 842a67e
openCount를 이용해서 "("가 하나 등장할 때마다 카운트를 하나씩 올려줬고, ")"가 등장할 때마다 카운트를 하나씩 줄여줬다.
coding_test_practice/coding_test_practice/240627_12909.swift
Line 30 in 842a67e
삼항연산자를 사용해서 openCount가 0이 되는 경우, 즉 "(" 개수와 ")"의 개수가 같아졌을 때 true로 반환할 수 있도록 했다.
그러나 이렇게 여기까지만 하면 1번에서 언급한 "("이 먼저 시작하는가?를 판단해주는 요소가 없었기 때문에 통과하지 못했다.
coding_test_practice/coding_test_practice/240627_12909.swift
Line 15 in 842a67e
coding_test_practice/coding_test_practice/240627_12909.swift
Lines 17 to 27 in 842a67e
때문에 isStartOpen이라는 Bool 값을 이용해서 "("로 시작하는지를 판단해 주었다. ")"가 등장했을 때 카운트를 하나씩 줄이는데, openCount가 0일 때 ")"가 등장하면 안되기 때문에 false로 전환해주었다.
(사실 이건 처음에 "("로 시작해주는지를 판단해줄 뿐만 아니라 "())(()" 이런 상황처럼 "("가 등장하지 않았는데 ")"가 먼저 등장하는 경우도 방지한다.)
coding_test_practice/coding_test_practice/240627_12909.swift
Lines 29 to 33 in 842a67e
isStartOpen이 true일 때만 앞서 말한 삼항연산자의 연산을 할 수 있도록 해결했다.
The text was updated successfully, but these errors were encountered: