본문 바로가기

프로그래머스23

[프로그래머스 - Level 2] 가장 큰 수(정렬, 파이썬) https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr - 문제를 봤을때 이걸 순열을 써야하나 고민을 했는데,, 그럼 시간초과도 나올거같고 숫자 붙이기가 귀찮아진다. - 이 문제에서 배운 점 : str(숫자)를 정렬할때 아스키코드 기준으로 정렬이 되어서 첫번째 인덱스 값으로만 정렬이 된다. - 원하는 대로 정렬이 안되어서 정렬을 할때 x*3으로 맞춰주었.. 2022. 1. 24.
[프로그래머스 - Level 2] 더 맵게(파이썬, heapq) https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 22/02/13 O - scoville을 heap으로 만들기 위해 heapify를 이용해서 작은순서로 정렬했다. - while문은 길이가 2 이상인경우에만 실행(2보다 작을 때 pop을 할때 오류가 난다.) - 이 때, 스코빌의 가장 작은 값이 K 이상이 되면 break한다. - 가장 작은 값, 두번 째 작은값을 차례로 heappop을 통해 힙에서 .. 2022. 1. 13.
[프로그래머스 - Level 2] 다리를 지나는 트럭(파이썬) https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr - bridge 배열을 통해 현재 다리 위 트럭의 무게와 위치를 파악하기 위해 다리 길이만큼 배열 생성 - answer을 1씩 증가시켜서 1초마다 상황 파악 - 다리 위 맨 앞 트럭을 뽑아줌 - 이 때 대기 중인 트럭이 존재하면 - 현재 다리 위 트럭의 무게 + 대기 중 첫번째 트럭 무게가 견딜수 있는 하중 이하라면 - 다리의 맨 끝에.. 2022. 1. 12.
[프로그래머스 - Level 2] 프린터 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr - 스택 이용 -> priorities.pop(0)으로 가장 첫 번째 문서 빼냄 - pop을 할 때마다 location을 변경해서 목표 문서 위치를 파악해야함 -> 앞으로 한칸 이동 하게 됨 - 맨 앞에 문서가 우선 순위가 가장 높으면 answer을 1 증가 시켜서 출력 처리하고 가장 높은 우선 순위 초기화 - location을 고려 안하고 우선순위만 비교하느라 시.. 2022. 1. 12.