문제 https://programmers.co.kr/learn/courses/30/lessons/12909?language=python3 코딩테스트 연습 - 올바른 괄호 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 programmers.co.kr 코드 def solution(s): answer = True stack = [] for i in s: if i == "(": stack.append("(") else: if stack: stack.pop() else: return False else: if stack: return ..
문제 https://programmers.co.kr/learn/courses/30/lessons/12913?language=python3 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟 programmers.co.kr 코드 def solution(land): answer = 0 for i in range(1,len(land)): land[i][0] += max(land[i-1][1], land[i-1][2], land[i-1][3]) land[i][1] += max(land[i-1][0], land[i-1][2], lan..
문제 https://programmers.co.kr/learn/courses/30/lessons/12941?language=python3 코딩테스트 연습 - 최솟값 만들기 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱 programmers.co.kr 코드 def solution(A,B): answer = 0 A.sort() B.sort(reverse=True) for i,j in zip(A,B): answer += i * j return answer A와 B에서 한개씩 뽑아 곱해준수를 더해 최솟값을 만들려면 A의 가장 작은수와 B의 가장 큰수를 차례로..
문제 https://programmers.co.kr/learn/courses/30/lessons/12924?language=python3 코딩테스트 연습 - 숫자의 표현 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 programmers.co.kr 코드 def solution(n): result = 0 for i in range(1,n+1): answer = 0 for j in range(i,n+1): answer += j if answer == n: result += 1 break elif answer > n: break return result 효..