알고리즘/논리적표현의 구현방법
다양한 논리적 표현의 구현방법
제이G
2022. 5. 15. 16:11
논리적인 생각을 "어떻게" 구현해낼 것인지는 굉장히 중요하다
1. List plan[2, 1, 5, 3, 2, 1, 3] , Set plug[2, 1, 5].
플랜리스트는 사용하는 가전제품의 순서, 플로그세트는 플로그에 꽂힌 가전제품이라고 해보자. 한 번에 하나씩만 플로그의 가전제품을 교체할 수 있고, 교체횟수를 최소화해야한다고 해보자.
플로그에 2, 1, 5 가전제품이 꽂혀있으니, 2, 1, 5가 다음번에 언제 등장하는지 길이(시간)을 통해 비교해야할 것이다.
내생각
plug에 가전제품이 꽂힐 때마다, last index를 별도로 만들어서 다음번 등장까지의 시간을 측정하려했다.
즉, 현재 last = 2이고 2가 등장하는 index에 last를 빼주어서 시도하려고 했다.
개선
sublist를 활용
sublist를 사용하여 [2, 1, 3]에 해당하는 sublist를 만들고 2의 index + 1을 해주면 간단히 해결할 수 있다.