728x90
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 내용, 조건, 예시는 프로그래머스 사이트 참조
알고리즘
괄호방향에 따라 아래와 같의 정의해서
- '(' = +1
- ')' = -1
덧셋뺄셈으로 문제를 해결할 수 있다.
정의된 값을 가지고 두가지 조건을 만족한다면 알고리즘은 완성
- 조건1) 순차적으로 비교를 하는 중간에는 결과 값이 '0' 아니면 '항상 양수'가 되어야 함
- -(음수)가 되면 즉시 false
- 조건2) 전부 비교한 후, 결과 값이 0이면 true
- 0이 아닌 모든 수는 false
- 음수가 되는 경우는 ')'가 '('보다 먼저 들어온 경우
- 결과 값이 0이 아닌 경우는 괄호 짝이 맞지 않는 경우
위의 알고리즘을 코드로 표현을 하면
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <string> using namespace std; bool solution(string s) { bool answer = false; int store = 0; // '(' : +1, ')' : -1 for(auto c : s) { store += (('(' == c) ? 1 : -1); if(store < 0) { break; } } if(store == 0) { answer = true; } return answer; } | cs |
↓↓↓↓↓↓ 유익했다면 하트 뿅 ♥ ↓↓↓↓↓↓
728x90
반응형
'프로그래밍 > 프로그래머스' 카테고리의 다른 글
Lv2_[[1차] 캐시, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.05.23 |
---|---|
Lv2_[다음 큰 숫자, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.03.30 |
Lv2_[가장 큰 정사각형 찾기, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.03.27 |
Lv2_[124 나라의 숫자, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.03.23 |
Lv1_[개인정보 수집 유효기간, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.02.08 |
댓글