본문 바로가기

분류 전체보기134

[코딩테스트] 프로그래머스 - 124 나라의 숫자 (Lv.2) in 파이썬 Python 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다 예시: 10진법 124나라 3진법 10진법 124나라 3진법 1 1 1 6 14 20 2 2 2 7 21 21 3 4 10 8 22 22 4 11 11 9 24 100 5 12 12 10 41 101 programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 풀이 - 문제에서 주어진 10진법 - 124나라 표기법에, 3진법을 표기법을 더해보자 - 124 나라에서는 세 가지 숫자로 표기하므로, 3진법.. 2021. 2. 15.
[코딩테스트] 프로그래머스 - 기능 개발 (Lv.2) in Python 파이썬 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return. programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 풀이 - 일단 각 기능별로 완성되기 위해 걸리는 시간은 # progress + speed * days >= 100 days = math.ceil((100 - progre.. 2021. 2. 14.
[코딩테스트] 프로그래머스 - 프린터 (Lv.2) in Python 프린터 인쇄 순서 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. 현재 대기목록에 있는 문서의 중요도가 순서대로 담긴 배열 priorities와 내가 인쇄를 요청한 문서가 현재 대기목록의 어떤 위치에 있는지를 알려주는 location이 매개변수, 내가 인쇄를 요청한 문서가 몇 번째로 인쇄되는지 return. programmers.co.kr/learn/courses/30/lessons/42587 풀이 - 배열의 앞에서 원소를 꺼내고, 그 원소가 뒤로 간다는 점이 원형 큐를 떠올리게 했다. 참고 - piaflu.tistory.c.. 2021. 2. 14.
[자료구조] 파이썬의 deque - 양방향 큐, 원형 큐 구현 list가 [1,2,3,4,5]로 주어질 때, 배열의 끝에서 원소 추출하는 list.pop() 후에는 [1 ,2 ,3, 4]로 재정렬이 필요 없지만 (O(1)), 배열의 시작에서 추출하는 list.pop(0) 후에는 [2, 3, 4, 5]로 원소를 한 칸씩 옮겨주는 작업이 필요해, 시간 복잡도는 O(n)이 된다. list의 앞과 뒤 모두에서 원소의 추가와 삭제가 일어난다면, 이런 이유로 양방향 큐, 혹은 원형 큐를 사용하는 것이 더 이익이다. 파이썬에는 이를 이미 구현한 라이브러리가 있다. collections 모듈 - deque (Doubley-Ended Queue) deque는 덱이라고 읽으면 된단다. from collections import deque # declare queue queue = d.. 2021. 2. 14.