본문 바로가기

전체 글30

[프로그래머스][파이썬] 캐시 https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(cacheSize, cities): answer = 0 lower_cities = [] arr = [] #도시명을 소문자로 변환 for city in cities: lower_cities.append(city.lower()) #캐시 교체 알고리즘 for city in lower_cities: #cache hit if city in arr: arr.remove(city) an.. 2023. 12. 8.
[프로그래머스][파이썬] 할인 행사 https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(want, number, discount): answer = 0 dic1 = {} #정현이가 원하는 제품별 수량 for i in range(len(number)): dic1[want[i]] = number[i] #10일간 할인하는 제품별 수량 for i in range(0, len(discount)-9): dic2 = {} for j in range(i, i+10): if.. 2023. 12. 7.
[solvesql][SQLite] 할부는 몇 개월로 해드릴까요 https://solvesql.com/problems/installment-month/ https://solvesql.com/problems/installment-month/ solvesql.com select payment_installments, count(distinct order_id) as order_count, min(payment_value) as min_value, max(payment_value) as max_value, avg(payment_value) as avg_value from olist_order_payments_dataset where payment_type = 'credit_card' group by payment_installments min, max, avg 등의 집계함.. 2023. 12. 7.
[solvesql][SQLite] 복수 국적 메달 수상한 선수 찾기 https://solvesql.com/problems/multiple-medalist/ https://solvesql.com/problems/multiple-medalist/ solvesql.com select name from athletes a left join records r on a.id = r.athlete_id left join games g on r.game_id = g.id left join teams t on r.team_id = t.id where g.year >= '2000' and r.medal is not null group by a.id having count(distinct team) >= 2 order by name asc 필요한 데이터들이 4개의 테이블에 흩어져있어서 jo.. 2023. 12. 7.
[프로그래머스][파이썬] n^2 배열 자르기 https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(n, left, right): answer = [] for i in range(left, right+1): x = i // n #몫 y = i % n #나머지 answer.append(max(x,y)+1) #몫과 나머지 중 큰 값 return answer 인덱스를 n으로 나눴을 때, 몫과 나머지 중 큰 값에 1을 더한 값으로 1차원 배열이 구성되는 규칙이 있었다. 처음에는 .. 2023. 12. 6.
[프로그래머스][파이썬] 괄호 회전하기 https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(s): answer = 0 for i in range(len(s)): arr = [] s = s[1:] + s[0] #왼쪽으로 한 칸씩 이동 if s[0] == '[' or s[0] == '(' or s[0] == '{': for item in s: if len(arr) == 0: arr.append(item) else: if arr[-1] == '[' and item ==.. 2023. 12. 6.