programmers.co.kr/learn/courses/30/lessons/42748 정렬 레벨1문제라서 그런지 기초중의 기초만 알면 풀수있는 문제 다른문제들과 다르게 0번째부터 시작해서 코딩배열과 같은 방식이 아니라, 이 문제는 첫번째는 1번이다. 따라서 array를 이용할때 array[a : b-1] 을 알고있는지 체크하는 문제라고 생각됐다. a, b-1은 예전에 하도 여러번 당해봐서 이젠 너무 익숙하다. 문제랑 똑같이 commands의 모든 인덱스를 x, y, z로 해줘서 [x-1 : y] 로 목표하는 범위에 맞게 자른 배열을 sorted해준다음 [z - 1]의 원소를 answer에 집어넣었다. 알고리즘 자체는 단순해서 코드를 단순화하고자 한다면 좀더 짧게 하기 쉬워보였다.
programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이�� programmers.co.kr 문제는 이렇다. 시간 1초에 1만큼 다리를 지나고, 다리가 견딜수 있는 총 무게와 트럭들의 무게를 알려준다. 트럭들이 리스트 순서대로 다리를 이동한다면 총 몇초가 걸리겠는가? 첫 번째 풀이 첫 번째 풀이이다. 도착한 트럭 리스트인 arrive 트럭을 만들어서 도착한 리스트의 길이가 총 트럭갯수 리스트가 있는 truck_weights보다 작다면 while문으..
programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 �� programmers.co.kr 생각보다 간단한 문제 앞의 숫자가 100이 된 타이밍에 연속된 숫자들이 100이상인 경우 한번에 처리되고, 그 숫자를 return해주는 문제 첫 번째 인덱스만 사용해서 deque를 써서 popleft()를 써도 되고, 그냥 리스트에서 pop(0)을 써도 충분히 구현할 수 있는 문제였다. popleft()가 필요한 경우는 없어지는 숫자를 다시 활용해야할 때 필요성이..
programmers.co.kr/learn/courses/30/lessons/42584 첫 번째 풀이 for 문으로 리스트를 순회하면서 주식값이 떨어졌는지 안떨어졌는지 체크해가며 연속으로 떨어진 시간을 구해줬다. 케이스는 모두 통과했지만 효율성에서 개박살나버림 ㅋㅋ 주먹구구식으로 구현하다보니 효율성을 전혀 생각하지 못했다. 구현은 됐고 조금만 손보면 될거같아서 조금만 수정해보기로함 두 번째 풀이(성공) 이중 for문을 써서 구현완료 전 코드는 쓸데없이 코드를 순회할 때 마다 리스트를 슬라이스한 후에 길이를 구해주려고 해서 너무 비효율적이었다. 그냥 리스트 길이를 처음에 len(prices)로 구한후에 for문 내에서 해당 숫자만 불러와서 연산하게했더니 훨씬 나아졌다. 하지만 여전히 효율성이 좋다고 말하기..
문제는 다음과 같다 첫번째 풀이(test2, test15 실패) Dict형태를 이용하여 값을 지정해주다가, 재생의 최댓값을 기준으로 하길래 heapq로 하면 효율적이지 않을까 해서 완성까진 했는데 테스트2, 테스트 15를 통과못하였다. 조건 3번인 같은 장르내에서 재생 최댓값이 같다면 고유번호가 낮은 노래를 먼저 수록한다는 조건때문인 듯 하다. 그래서 완전히 막힌상태이다. heapq의 조건상 0 번째 인덱스를 기준으로 최대, 최솟값을 구할수 있어서 두 번째 조건의 경우 어떻게 돌아가야할지 막막하다. 아무래도 다시 처음부터 다시짜야할 듯 하다 ㅠㅠ somjang.tistory.com/entry/Programmers-%ED%95%B4%EC%8B%9C-%EB%B2%A0%EC%8A%A4%ED%8A%B8%EC%9..
heap 자료형을 이용하면 최댓값, 최솟값을 이용할 수 있어서 정말 편하고 효율적인데, 최댓값의 경우 요소에 -를 넣어주어서 반복문을 이용하여 위치를 바꾸는등 방법은 있지만 귀찮다. heapq._heapify_max(heap) #가장 큰 값이 0번째 인덱스에 위치하는 heap 자료형 구현 heapq._heappop_max(heap) # 가장 큰 값을 삭제하면서 return해줌 구현완료 단점은 -heappush_max는 없다.. heapify와 heappop만 이용할거라면 좋은 방법이다
- Total
- Today
- Yesterday
- javascript 객체배열
- Vue.js 프로젝트 투입 일주일 전
- 윈도우 chmod
- Java수료
- Vue.js 입문
- 프로그래머스
- vue.js 개념
- vue.js 특징
- 프로그래머스 코딩테스트
- windows10 chmod 400
- 파이썬
- Python
- dict 연속성
- vue bootstrap scss
- Vue.js
- 배열 특정요소 제거
- MySQL 문제
- 부트스트랩 커스텀
- Vue.js강의
- chmod 400
- JavaScript
- 코딩테스트
- 배열 특정객체 제거
- 다리위를지나는트럭
- 코드잇 강의
- 입문
- 데이터 사이언스 프로그래밍 파이썬
- heap max
- bootstrap5
- Vue.js 책
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |