[PG/Python] 보석 쇼핑
📌 문제 https://programmers.co.kr/learn/courses/30/lessons/67258 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 📌 문제 접근 방법 맨 처음에 짠 코드는 각 보석들의 인덱스를 딕셔너리에 저장한 후, 보석마다 가장 뒤에 있는 인덱스를 start에 담아주고 가장 앞에 있는 인덱스를 end에 담아줬다. 그 후, start에서 가장 작은 값과 end에서 가장 큰 값을 범위로 설정하면 최소의 길이로 모든 보석을 포함하는 구간을 찾을 수 있다. -> 하지만 짧은 구간이 여러 개일 경우 시작 진열대 번호가 가장 작아야 한다는..
2022. 1. 8.
[PG/Python] 표 편집
📌 문제 https://programmers.co.kr/learn/courses/30/lessons/81303 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 📌 문제 접근 방법 연결리스트를 활용하여 삽입, 삭제의 시간 복잡도를 O(1)으로 구현하였다. 표에서 초기 행 번호를 key, 해당 번호의 앞/뒤 행 번호를 리스트 형태로 value에 저장했다. 인덱스의 이동의 경우, x번만큼 위/아래로 이동하도록 하였다. 삽입, 삭제의 경우, 첫 번째 인덱스일 경우/마..
2021. 12. 27.