구해야 하는 대상만 알면 쉬운 문제!각 폰켓몬마다 고유한 번호를 가진다는 조건을 보고 총 폰켓몬 가짓수를 파악하기 위해 set을 사용했다.다른 풀이 보고 배운 점 이 부분을 if else문이 아닌 min함수를 사용했더라면 더 간결하게 작성할 수 있다.
동명이인이 있을 수 있다는 것에 꽂혀서 set을 사용하려고 했다.participant와 completion의 set이 동일하지 않은 경우 두 집합의 차집합이 answer가 된다.set이 동일할 경우, for문을 통해 순회를 한다.최악의 경우, O(NlogN)차집합 계산
array 순회하면서 연속으로 중복되는 코드가 있는지 확인하고 연속으로 중복되지 않는 경우만 answer에 append 해주면 된다.
문제에서 요구하는 대로 그대로 구현하면된다. 인덱스 슬라이싱과 sort 메소드만 사용할 줄 알면 되는 문제
처음에는 w중에 가장 긴 것, h중에 가장 긴 것을 고른 후 만약 가장 긴 h가 가장 긴 w보다 짧다면 다시 탐색을 해야 하나 싶었지만.... 그냥 평소에 카드 정리를 하는 것처럼 한 명함에서 길이가 긴 부분을 w라고 가정하고 한 번만 계산하면 되는 문제였다.
일단 번호 순서대로 정렬여벌 체육복을 가져왔지만 도난도 당해버린 케이스를 먼저 고려lost와 reserve에서 해당 케이스의 학생을 모두 제외한다그러고 나서, 도난당한 학생은 맨 첫번호와 끝번호를 제외하고 모두 자신보다 작은 사이즈의 친구에게 체육복을 빌리도록 함. 바
point 문자열의 접두어가 존재하는지 확인하는 문제. 반복을 최소화 하는 것이 관건! 처음에는 단순하게 이중 반복문을 써서 일치하는 부분을 찾으려고 했다. 반복 수행 시간을 최소화 하고자... 문자열 순서대로(1, 2, 3,...) 한 번 정렬하고 문자열의 길이가 짧
point반복되는 부분을 찾아내어 간결화 시키자문제 특성 상 하나 하나 모두 채점하는 수 밖에는 없을 것이라고 생각.대신 반복되는 부분을 찾아서 최대한 간결하게 표현하고자 했다.좌표 이동 코드를 작성할 때 이동하는 위치를 미리 list에 저장해두고 꺼내쓰는 방식을 주로
point경우의 수, collection.Counter의상 조합의 개수를 구하는 것이므로 경우의 수를 구하는 공식을 쓰면 쉽겠다고 생각했다.같은 이름을 가지는 의상은 없으므로, 종류별 의상의 개수 만을 파악하면 될 것이라고 생각했고 이때 지난 번에 배운 Counter함
point올림, 비교 기준, list.pop(0)일단 기능마다 총 소요되는 시간을 구했다.(days)days list에서 하나씩 pop 하면서 뒤에 있는 기능이 앞에 있는 기능보다 먼저 끝나면(days가 작거나 같으면) 함께 배포하도록 num을 더해주었다.days li
point스택을 이용하면 좋은 문제' ( ' 가 나올 때마다 stack에 push를 하고, 그 짝인 ' ) ' 가 나올 때 stack에서 pop을 하는 방법을 쓰면 된다.이때, pop을 정상적으로 할 수 없거나, 주어진 괄호를 모두 썼음에도 stack이 비어있지 않는
pointqueue, maxpriorities 만으로는 process의 위치를 파악하기 어려워서 process라는 list를 하나 더 만들었다. (list의 요소들이 곧 process의 위치)현재 max_priority 보다 process의 priority가 작을 경우