https://school.programmers.co.kr/learn/courses/30/lessons/12909
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
알게된 것
- ++, -- 로만(개수로만 체크) 하면 안맞는 테스트케이스가 있다.
- 맨 처음 ) 그리고 중간에 ) 가 먼저 나올 경우 무조건 바로 리턴해버리면 된다.
내코드
#include<string>
#include <iostream>
using namespace std;
bool solution(string s)
{
int i = 0;
int temp = 0;
if (s[0] == ')') return false;
else {
while(i < s.size()) {
if(s[i] == '(') temp++;
else if(s[i] == ')') temp--;
if (temp < 0) return false;
i++;
}
if (temp == 0)
return true;
else
return false;
}
}
친구리뷰
딱히 없었던 같기도?
시도
// bool solution(string s)
// {
// int i = 0;
// int temp = 0;
// if (s[0] == ')') return false;
// else {
// while(i < s.size()) {
// if(s[i] == '(') temp++;
// else if(s[i] == ')') temp--;
// i++;
// }
// if (temp == 0)
// return true;
// else
// return false;
// }
// }
// 테스트케이스와 효율성에서 일부 틀림.
728x90
반응형
'자료구조 알고리즘 > 코딩테스트' 카테고리의 다른 글
피보나치 수 (0) | 2022.09.16 |
---|---|
숫자의 표현 (0) | 2022.09.16 |
최솟값 만들기 (0) | 2022.09.16 |
이진 변환 반복하기 (0) | 2022.09.16 |
JadenCase 문자열 만들기 (0) | 2022.09.16 |