본문 바로가기

문제 풀이/프로그래머스 (Programmers)51

[Python] 프로그래머스 : 수식 최대화 https://programmers.co.kr/learn/courses/30/lessons/67257?language=python3 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 문제 풀이 두 가지 방법으로 풀었다. 1. 우선순위에 따라 후위 표기식으로 전환해 계산 (코드 1) 2. 분할 정복을 통해서 계산 (코드 2) 풀이1 문제를 보자마자 뭔가 스택으로 풀어야 할 것 같은 느낌에 바로 떠오른 것은 후위 표기법이다. 표현식에 주어진 연산자에 따른 우선순위를 만들고 우선순위에 따라 후위 표기식으로 전환한 .. 2022. 6. 30.
[Python] 프로그래머스 : 거리두기 확인하기 https://programmers.co.kr/learn/courses/30/lessons/81302?language=python3 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 문제 풀이 BFS로도 풀 수 있지만 크기가 5로 고정되어있어.. 2022. 6. 26.
[Python] 프로그래머스 : 괄호 변환 https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 문제 풀이 재귀와 문자열의 이해를 묻는 문제였다. 주어진 절차 그대로 해결하면 된다. def isCorrect(str): test = [] for element in str: if len(test) == 0: test.append(element) elif test[-1] == '(' and element == ')': test.pop() else: test.app.. 2022. 6. 23.
[Python] 프로그래머스 : 메뉴 리뉴얼 https://programmers.co.kr/learn/courses/30/lessons/72411?language=python3 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 문제 풀이 for course in course: for order in orders: n_order = ''.join(sorted(order)) for combo in [''.join(i) for i in list(combinations(n_order, course))]: if combo in combos[course-1]: com.. 2022. 6. 22.
[Python] 프로그래머스 : 내적 https://programmers.co.kr/learn/courses/30/lessons/70128 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr 문제 풀이 느낀 점 코드 def solution(a, b): return sum([x*y for x, y in zip(a,b)]) 2022. 6. 22.
[Python] 프로그래머스 : 음양 더하기 https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 문제 풀이 단순하게 부호에 따라 더하고 빼기만 하면 된다. 느낀 점 코드 def solution(absolutes, signs): answer = 0 for i in range(len(signs)): if signs[i]: answer += absolutes[i] else: answer -= absolutes[i] return answer 2022. 6. 22.