프로그래머스 34

[세무민의 코딩일기] 프로그래머스 위클리 챌린지 2주차 상호 평가 문제 풀이

이번 포스팅은 프로그래머스에서 위클리 챌린지 2주차 문제 풀이로 돌아왔습니다. 1. 문제설명 2. 제한사항 및 입출력 예시 3. 문제 풀이 이번 문제에서는 가장 큰 포인트를 둬야하는 문구는 2가지입니다. - 자신이 가장 최대 및 최소로 준 점수라면 제거한다. - 자신이 가장 최대 및 최소라고 생각했으나 동일한 값이 있다면 제거하지 않는다. 이 2가지의 조건만 잘 맞춰주면 문제를 풀 수 있습니다. # 처음 코드 def solution(score): result = "" for i in range(len(score)): maxCheck = 0 minCheck = 0 maxSize = list() for j in range(len(score[i])): maxSize.append(score[j][i]) maxC..

[세무민의 코딩일기] 프로그래머스 주식가격 문제 풀기

오늘 풀어볼 문제는 프로그래머스 스택/큐 문제 중 하나인 주식가격 문제입니다. 1. 문제 설명 및 제한 사항 2. 입출력 예시 3. 문제 풀이 제가 생각한 문제 풀이 방법은 위와 같습니다. 해당 i번째의 값을 기준으로 뒤에 나오는 값이 하락하는 경우 -1을 해주면 됩니다. 그리고 하락과 상승폭을 구한 값과 해당 i번째 기준으로 arr의 마지막까지의 길이의 합을 구해주면 됩니다. 코드는 아래와 같습니다. # 1번 풀이(Stack 이용 - 시간초과) from collections import deque def solution(prices): stacks = deque(prices) result = [] temp = 0 count = 0 inputprice = 0 numbers = 0 while len(sta..

[세무민의 코딩일기] 프로그래머스 부족한 금액 계산하기 문제 풀이

오늘 포스팅은 프로그래머스에서 위클리 챌린지 1주차 문제인 "부족한 금액 계산하기"입니다. 퇴근 한 후에 머리 식힐 겸 풀어봤는데 생각보다 쉽게 풀어서 포스팅을 하게 되었네요..ㅎㅎ(이 문제가 쉬워요..) 1. 문제 설명 2. 입출력 예시 3. 문제 풀이 이 문제는 문제 설명보다 입출력 예시를 보면 바로 풀 수 있다. 말 그대로 놀이기구의 price와 count의 곱이 money보다 큰지 아니면 같거나 작은지를 구분해주면 됩니다. # 가장 표본인 답변 def solution(price, money, count): answer = -1 resultCheck = 0 for i in range(1, count + 1): resultCheck += price * i if(resultCheck = 0): answ..

[세무민의 코딩일기] 프로그래머스 짝지어 제거하기 문제 풀이

이번 포스팅에서 다룰 문제는 2017년도 팁스타운에서 제공 된 짝지어 제거하기 문제입니다. 이 문제를 풀면서 시간복잡도와 deque의 사용의 장점을 알 수 있었습니다. 1. 문제설명 2. 입출력 예 설명 3. 문제 풀이 이번 문제는 처음에 구상했던 방법은 같은 값이 나오는 i, i+1값을 제거해주면 됩니다. 이 때 방법의 차이로 시간복잡도 문제에 봉착할 수 있습니다. 제가 처음 생각했던 것은 s = s[:count]+s[count+2:]와 같이 같은 문자가 연속으로 존재한다면 해당 값을 제거하고 다시 새로운 문자열로 만들어줬습니다. 이 방법을 이용했더니 시간복잡도에 초과가 되었고 곰곰히 생각한 끝에 deque를 생각했습니다. 말 그대로 deque과 반복문을 이용해서 연속으로 들어있는 값이 있다면 dequ..

[세무민의 코딩일기] 보호소에서 중성화한 동물 문제 풀이

오랜만에 알고리즘 문제 풀이 포스팅으로 돌아왔습니다. 최근들어서 어떤 포스팅을 해야할지 고민도 많아졌고 재택에서 출퇴근으로 변경되서 시간이 조금 없다보니 틈틈히 포스팅 할 내용들을 찾다가 이번에 쿼리관련 코테 문제로 찾아오게 되었습니다. 1. 문제 설명 2. 예시 3. 문제 풀이 및 코드 테이블을 TB로 지칭하여서 풀이를 진행해보겠습니다. ANIMAL_INS|TB와 ANIMAL_OUT|TB에서 현재 찾아야 하는 값은 중성화가 되어서 나간 친구들을 찾는것이 중요합니다. 그렇다면 내가 해야할 방법은 SEX_UPON_INTAKE가 ANIMAL_INS|TB에서 중성화가 되지 않은 친구이면서 ANIMAL_OUTS|TB에서는 중성화가 된 친구들을 찾으면 되겠죠? 그렇다면 LEFT JOIN을 이용해서 해당 테이블을 ..