본문 바로가기

Engineering WIKI/Programmers71

[프로그래머스] 더 맵게 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr heapq 모듈 사용법 [파이썬] heapq 모듈 사용법 Engineering Blog by Dale Seo www.daleseo.com heap = [4, 1, 7, 3, 8, 5] heapq.heapify(heap) print(heap) [1, 3, 5, 4, 8, 7] heapify() 함수에 리스트를 인자로 넘기면 리스트 내부의 원소들의 위에서 다룬 힙 구조에 맞게 재배치되며 최소값이 0번째 인덱스에 위치됩니다. 즉, 비어있는 리스트를 생성한.. 2022. 6. 4.
[프로그래머스] 영어 끝말잇기 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr 내 풀이 1차시도 실패 def solution(n, words): answer = [] word_list = list() last_word = list() order = 0 rotatio.. 2022. 6. 1.
[프로그래머스] 가장 큰 정사각형 코딩테스트 연습 - 가장 큰 정사각형 찾기 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr 핵심 다른 사람 풀이 def solution(board): n = len(board) m = len(board[0]) # dp 준비 dp = [[0] * m for _ in range(n)] dp[0] = board[0] for i in range(1, n): dp[i][0] = board[i][0] # 2중 포문으로 연산 for i in range(1, n): for j in range(1, m): if board[i][j] == 1: dp[i][j] = min(dp[i-1][j-1], dp[i-1][j], dp[i][j-1]) + 1 # 최대 넓이 .. 2022. 6. 1.
[프로그래머스] 구명보트 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr people을 정렬한 다음, 가장 몸무게가 큰 사람과 가장 작은 사람을 더해 limit값과 비교한 다음, 작으면 둘 다 태우고 크면 가장 큰 사람만 태운다. 다른 사람 풀이 def solution(people, limit): answer = 0 people.sort() start, end = 0, len(people) - 1 while start 2022. 5. 31.
[프로그래머스] [1차] 캐시 코딩테스트 연습 - [1차] 캐시3 ["Jeju", "Pangyo", "Seoul", "NewYork", "LA", "Jeju", "Pangyo", "Seoul", "NewYork", "LA"] 50 3 ["Jeju", "Pangyo", "Seoul", "Jeju", "Pangyo", "Seoul", "Jeju", "Pangyo", "Seoul"] 21 2 ["Jeju", "Pangyo", "Seoul", "NewYork", "LA", "SanFrancisco", "Seoul", "Roprogrammers.co.kr내 풀이def solution(cacheSize, cities): answer = 0 cache_list = list() for city in cities: .. 2022. 5. 30.
[프로그래머스] 땅따먹기 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟 programmers.co.kr 내 풀이 1차시도 실패 def solution(land_list): answer = 0 index = -1 for land in land_list: if index != land.index(max(land)): answer += max(land) else: land.remove(max(land)) answer += max(land) index = land.index(max(land)) return answer DP를 이용하는 문제이다. 맨 위.. 2022. 5. 26.