본문 바로가기
728x90

알고리즘141

[PG/Python] 괄호 변환 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 📌 문제 접근 방법 스택을 활용하여 올바른 괄호열을 판단하는 함수를 만들었다. 여는 괄호를 만나면 스택 안에 넣는다. 닫는 괄호를 만나면 스택에서 괄호 하나를 pop 한다. 문자열이 끝나지 않았는데 스택에서 pop을 할 수 없거나, 문자열이 끝났는데 스택에 남는 괄호가 있다면 올바른 괄호열이 될 수 없다. 그 후에는 문제에서 주어진 방식을 그대로 따라서 .. 2021. 11. 30.
[PG/Python] 수식 최대화 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 📌 문제 접근 방법 후위표기법으로 스택을 사용해서 계산해야겠다는 생각은 금방 했지만, 우선순위를 표시하는 방법과 후위표기법으로 변환하는 과정을 구현하는데 고민을 오래 했다. 우선순위는 permutations를 사용해서 순열 리스트로 만들어줬다. (인덱스를 활용해서 우선순위를 비교할 것이다) 다음으로 expression 문자열을 순회하면서 숫자라면 nu.. 2021. 11. 14.
[PG/Python] 전력망을 둘로 나누기 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/86971 코딩테스트 연습 - 전력망을 둘로 나누기 9 [[1,3],[2,3],[3,4],[4,5],[4,6],[4,7],[7,8],[7,9]] 3 7 [[1,2],[2,7],[3,7],[3,4],[4,5],[6,7]] 1 programmers.co.kr 📌 문제 접근 방법 인접리스트를 활용해서 연결된 전선 정보를 입력해준다. wires를 한 번 더 반복문을 돌리면서 전선들 중 하나를 끊는다. 이 때 끊긴 두 송전탑을 기준으로 전력망이 가진 송전탑의 개수를 bfs를 활용해서 구해준다. 두 전력망의 송전탑 수와 현재의 answer에 저장된 값을 비교하여 더 작은 값으로 answer 값을 갱신해준다. 끊긴 두.. 2021. 11. 14.
[PG/Python] 타겟 넘버 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 📌 문제 접근 방법 문제 분류가 dfs, bfs길래 그걸 어떻게 써야하나 한참 고민하다가 아이디어가 안떠올라서 그냥 일단 해보자! 하고 짜봤다. (사실 시간초과 나려나 했는데 안나서 읭?했음..) 숫자의 개수보다 1개 더 많게 리스트를 만들어주고 반복문을 돌리면서 리스트 안의 모든 값에 숫자를 더하고.. 2021. 11. 4.
728x90