Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- axios
- 매일메일
- C++
- 항해플러스
- Python
- react
- java
- 자바
- 리액트
- Algorithm
- 항해99
- redux-toolkit
- 프로그래머스
- sw expert academy
- react-router
- 테코테코
- 코딩테스트합격자되기
- maeil-mail
- redux
- json-server
- react-redux
- useDispatch
- 이코테
- programmers
- 알고리즘
- JavaScript
- redux-saga
- Get
- SW
- createSlice
Archives
- Today
- Total
Binary Journey
[프로그래머스] 올바른 괄호 본문
반응형
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
자바스크립트로 먼저 풀던 내가 이젠 파이썬으로 먼저 푼다
파이썬이 훨씬 간편함
** Python (+5)
def solution(s):
r = "".join(s.split("()"))
return r == "" or (r.count("(") == r.count(")") and r[0] == "(" and r[-1] == ")")
정규식 안 쓰고 풀기 성공!
(아래 자바스크립트 취향 저격 코드를 파이썬으로도 풀었는데 위의 식이 속도가 더 빨랐다.)
def solution(s):
pair = 0
for c in s:
pair += 1 if c == "(" else -1
if pair < 0: return False
return pair == 0
** Javascript
자바스크립트는 정규식 결국 씀
function solution(s){
const r = s.split("()").join("");
return r === "" || (r.startsWith("(") && r.endsWith(")") && (r.match(/\(/g) || []).length === (r.match(/\)/g) || []).length);
}
다른 풀이 중 취향 저격이었던 코드
그리고 자바스크립트로는 이게 더 빨랐다.
function solution(s){
let pair = 0
for (let c of s) {
pair += c === '('? 1: -1
if(pair < 0) {
return false
}
}
return pair === 0;
}
반응형
'프로그래머스 > level 2' 카테고리의 다른 글
[프로그래머스] n 진수 게임 (0) | 2021.12.14 |
---|---|
[프로그래머스] 다음 큰 숫자 (0) | 2021.12.07 |
[프로그래머스] 땅따먹기 (0) | 2021.12.06 |
[프로그래머스] 숫자의 표현 (0) | 2021.12.06 |
[프로그래머스] 행렬의 곱셈 (0) | 2021.11.29 |