분류 전체보기 474

근황

이직을 준비중이다. 현 직장에서 더이상 발전이나 재미를 느낄 수 없고 날이 갈수록 실력이 무뎌져서 이직을 결심했다. 두곳 면접을 봤는데 한 군데는 화상면접 - 기술면접 + 알고리즘 한 군데는 과제제출 - 여러가지 API 를 개발해서 github 에 소스코드를 올리고 링크를 제출 아직 결과는 모르지만 떨어져도 좋은 경험했다 생각한다. 면접 준비하는것만으로도 지금 나의 무력감을 어느정도 잊게 해줬다. 지난주 금요일 심하게 체해서 금요일 저녁, 토요일까지 많이 아팠다. 그리고 일요일은 배 아픈게 많이 좋아져서 밥도 잘먹고 운동도 하고 집 뒷산으로 등산도 다녀왔는데 오후부터 두통이 좀 심했다. 예스24에서 크레마S를 사고 일주일만에 아이들중 누군가가 액정을 밟아서 깼다.. 19만원 주고 산건데 액정교체비를 알아..

일기 2022.01.17

프로그래머스 괄호변환 파이썬

https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 이 문제는 문제의 조건이 너무 상세하게 나와서 그냥 문제 조건에 나온 내용을 코드로 그대로 옮겼더니 풀렸다. 별로 어려울건 없었는데 문제 설명 중, 균형잡힌괄호문자열의 의미를 잠깐 잘못 이해했다. 균형잡힌문자열은 열린괄호와 닫힌괄호의 수가 같은 것이다. 문제 조건 중 '단, u는 "균형잡힌 괄호 문자열"로 더 이상 분리할 수 없어야 하며' 라는 부분이 있는데 이 ..

짝이맞지않는괄호 파이썬

def solution(brackets): o = '({[' c = ')}]' if brackets[0] in c: return False if brackets[-1] in o: return False if len(brackets) % 2 == 1: return False s = [] for b in brackets: if b in o: s.append(b) if b in c: if s[-1] in o and o.index(s[-1]) == c.index(b): s.pop() else: return False return len(s) == 0 print(solution('({[}])')) # 3 # ()() # ({[}]) # ({}[(){}]) 갑자기 문득 예전에 풀었던게 떠올라서 풀어봤다. 쉽다 열린..

프로그래머스 주식가격 파이썬

https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 쉬운 문제인데 문제 이해에 약간 헷갈리는 부분이 있어서 약간 헤맸다. 이 문제는 주식가격이 떨어지지 않은 기간을 구해야하는데 주식가격이 떨어진 지점도 1초후라고 판단해야한다. 예를들어 주식가격이 [1, 2, 3, 2, 3, 1] 일때, 두번째 요소인 2는 3,2,3 이후인 1을 만나면 가격이 떨어지므로 3 초 후 주식가격..

프로그래머스 다리를 지나는 트럭 파이썬

https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr 스택/큐를 잘 활용해야하는 문제이다. 문제를 보면 배열의 앞쪽에서 값을 많이 빼야할것 같았기에 deque 를 사용하여 효율을 높였다. 풀이: 1. 다리를 지나는 트럭을 위한 deque (d) 를 다리의 길이로 생성한다. > 0은 차가 없는 다리 부분이다. 2. 현재 다리위에 있는 전체 무게를 초기화한다. 3. 1 에서 생성한 다리 de..

프로그래머스 프린터 파이썬

https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 문제만 봐도 우선순위에 따라 인쇄할 종이를 앞에서 맨뒤로 보내야할 일이 많을것 같았으므로 일단 deque 를 사용했다. 나의 경우, 순서를 기록하고 있는 배열을 추가로 만들어서 우선순위 배열의 값이 조정될때 (맨뒤로 보내거나 프린트될때) 순서배열 역시 동일하게 기록을 해줬고, 프린트해야하는 시점의 값이(순서가) location 과 동일하다면 기록해뒀던 answer ..

프로그래머스 기능개발 파이썬

https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 처음엔 아래와 같이 풀었다 def solution(progresses, speeds): answer = [] temp = 0 while progresses: if progresses[0] >= 100: del progresses[0] del speeds[0] temp += 1 else: if temp > 0: answer.append(temp) temp ..

프로그래머스 단속카메라 파이썬**

https://programmers.co.kr/learn/courses/30/lessons/42884 코딩테스트 연습 - 단속카메라 [[-20,-15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr 이 문제의 가장 탐욕스러운 방법은 진출지점 기준으로 오름차순으로 정렬한 후, 진출지점에 카메라를 설치하는 것이다. 왜냐하면 진출지점이 오름차순 정렬돼있기 때문에 첫번째 진출지점에 카메라를 설치하면 다음 자동차는 무조건 첫번째 진출지점 이후에 진출하기 때문에 카메라를 만나기에 가장 최선이다. 풀이: 1. 진출지점 기준으로 오름차순 정렬한다. 2. 자동차를 순회한다. 3. 만약 카메라가 현재 자동차의 시작지점 이전에 있다면 그 차는 카메라를 만나지 못한 것이므로 카메라..

프로그래머스 섬 연결하기 파이썬

https://programmers.co.kr/learn/courses/30/lessons/42861 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr 크루스칼 알고리즘을 이용하면 쉽고 빠르게 풀 수 있는 문제이다. 이 문제를 처음 접했을 때는 크루스칼 알고리즘을 모르고 있었다. 크루스칼 알고리즘을 모르는채로 대강 계획을 잡고 풀어보려했는데 생각보다 구현이 잘 안돼서 질문/답변 을 확인하다가 크루스칼 알고리즘을 알게 되었다. import heapq def get_parent(c, node): if c[node] == node: return node return get_parent(c, c[node]) def ..