[TIL] 240910 (커리어톤 이력서 2차 제출 완료 / 프로그래머스 올바른 괄호)

·2024년 9월 10일

TIL

목록 보기
155/268
post-thumbnail

🥞 오늘 한 일

  • 커리어톤
    • 이동희 코치님 피드백 적용
    • 인텔리픽 이력서 진단 2차 제출
  • 알고리즘 코드카타
    • 올바른 괄호

커리어톤

오늘은 화/목 오후 1~2시에만 계시는 코치님께 이력서를 검토받았다. 주된 내용은 다음과 같았다.

  • 자기소개
    • 구체적 사례가 있으면 좋겠다.
    • 필요없는 부분들이 좀 보인다.
  • 트러블 슈팅
    • 깊이감이 좀 없는 것 같다.

트러블 슈팅에서 확실히 자꾸 발목이 잡히는 것 같다. 어쩌면 내가 트러블 슈팅이라는 것에 대해 정확한 이해가 되고있지 않은 걸수도? 다른 부분들은 그래도 괜찮게 수정이 되었다고 생각하지만, 트러블 슈팅만큼은 다른 사람들의 이력서를 많이 보고, 내가 따로 개인 프로젝트를 진행하거나 해서 보강할 필요가 확실히 있다고 느껴진다. 그러나 새롭게 만들어내는 것보다 포트폴리오 제작이 우선적일듯. 우선순위를 잘 정해서 진행해보자.

알고리즘 코드카타

올바른 괄호

문제

괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어

  • "()()" 또는 "(())()" 는 올바른 괄호입니다.
  • ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.

'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요.

풀이

function solution(s) {
  let num = 0;
  for (let i = 0; i < s.length; i++) {
    if (s[i] === "(") {
      num++;
    } else if (s[i] === ")") {
      num--;
    }
    if (num < 0) {
      return false;
    }
  }
  if (num > 0) {
    return false;
  }
  return true;
}

간단하게 풀었다. 만약 )가 먼저오는 경우일 때는 이미 올바르지 않은 괄호이기 때문에 바로 false를 return하고, 반복문이 다 돌아간 후 닫히지 않은 괄호가 있을 수 있기 때문에 num이 1 이상일 때에도 false를 return하고, 그 외의 경우에는 올바른 괄호이므로 true를 return 했다.

🍳 내일 목표

  • 포트폴리오 제작 시작
profile
웹 프론트엔드 개발자

0개의 댓글