목록2025/02 (6)
치악산 복숭아
왼쪽 오른쪽 괄호가 짝이 맞는지를 검사하는 문제이다.접근 방법주어진 괄호 문자열의 현재 인덱스의 문자가 왼쪽 괄호`([{` 인지 확인맞다면 스택에 넣는다아니라면 2번으로현재 스택이 비어있는지 확인비어있다면 false 얼리 리턴 -> `)}]` 이 먼저 왔으므로 짝이 맞지 않음비어있지 않다면 3번으로현재 인덱스의 문자가 오른쪽 괄호`)]}` 인지 확인맞다면 스택의 top 문자가 짝이 맞는 왼쪽 괄호인지 체크맞다면 top 문자를 꺼내기(pop) -> 짝이 맞는 괄호아니라면 false 얼리 리턴 -> 짝이 맞지 않는 괄호1~3번을 반복한 뒤 스택이 비어있는지 여부를 리턴 위 방법을 코드로 구현하면 아래와 같다. #include class Solution {public: bool isValid(string..
주어진 버전 배열 중 가장 처음으로 등장한 나쁜 버전 값을 찾는 문제이다.처음에는 아무 생각 없이 브루트포스 방식으로 문제를 풀려다가 time exceeded 에러가 나서😅 이진 탐색 방법으로 해결했다. class Solution {public: int firstBadVersion(int n) { int begin = 1; int end = n; int mid; if (begin == end) { return n; } while(begin != end) { mid = (begin / 2 + end / 2); if (isBadVersion(mid)) { end = mid; } e..