코딩테스트 연습 - 올바른 괄호 | 프로그래머스 스쿨 (programmers.co.kr)
내 풀이
def solution(s):
count1=0
count2=0
for i in range(len(s)):
if s[0]=="(" and s[-1]==")":
return True
else:
return False
for i in range(len(s)):
if s[i]=="(":
count1+=1
else:
count2+=1
if count1!=count2:
return False
풀이
def solution(s):
stack = []
for i in s:
if i == '(':
stack.append(i)
else:
if stack == []: # 오른쪽 괄호로 시작할경우
return False
else:
stack.pop()
if stack != []: # 다 끝났는데 왼쪽 괄호가 스택에 남아있을경우
return False
return True
def solution(s):
OPEN = '('
CLOSE = ')'
count = 0
for char in s:
if char == OPEN:
count += 1
if char == CLOSE:
count -= 1
# count값이 0보다 작아졌다는 뜻은, 이미 짝이 맞지 않는다는 뜻이므로 early return
# ex: '())', ')(' 이런 경우
if count < 0:
return False
return count == 0
코딩테스트 연습 - 숫자의 표현 | 프로그래머스 스쿨 (programmers.co.kr)
★★★
문제 설명
입출력 예
내 풀이
.
풀이
def solution(n):
count = 0
for i in range(1, n+1): # 예시의 `15=15`도 있기 때문에 n+1 까지 반복문 실행
sumN = 0
for j in range(i, n+1): # i값을 시작으로 반복문 실행
sumN += j # i값부터 계속해서 값을 더해준다
if sumN == n: # 더한 값이(sumN)이 n과 같다면 count +1, break
count += 1
break
if sumN > n: # 더한 값(sumN)이 n보다 크다면 계산할 필요가 없음
break
return count
'코딩테스트 > programmers (python)' 카테고리의 다른 글
programmers / 프로세스(2단계) / python (0) | 2023.12.26 |
---|---|
Lv.2 다음 큰 숫자, 피보나치 수, 카펫 (0) | 2023.08.22 |
프로그래머스 Lv.2 최댓값과 최솟값, 문자열 만들기 (0) | 2023.08.16 |
프로그래머스 Lv.1 모의고사, 완주하지 못한 선수 (0) | 2023.08.14 |
python/ Lv.1 정수 제곱근 판별, 자연수 뒤집어 배열 (0) | 2023.03.08 |