[LeetCode] 2811. Check if it is Possible to Split Array

2023. 8. 9. 21:13·Problem Solving/LeetCode

https://leetcode.com/problems/check-if-it-is-possible-to-split-array/description/

 

 

지난 주 위클리 B번 문제.(해결하지 못했다.)

아주 코포스러운 문제(?)라고 한다. 문제에서 요구하는 근본적인 문제를 해결한다면 간단한 구현으로 풀이가 가능했다.

 

1. 두 개 합쳐서 m이상인 길이 2의 배열이 하나도 없을 때 왜 불가능한가?

ex) arr =[2,1,1,1] m = 4 

문제에서 요구하는대로 진행하다보면 결국 길이 1의 subarray가 각각 1개씩, 총 2개가 남아야한다. 그러기 위해선 이전 단계에서 [길이가 2인 m보다 크거나 같은 합을 가진 subarray] , [길이가 1인 subarray]에서 split이 이루어져야 한다. 하지만 예로 든 배열에선 길이가 2인 subarray의 최대 합은 3이다. 그말인즉슨, 이전 단계에서 많은 과정을 거친다하더라도 마지막 단계를 거치지 못한다는 결론이 도출된다. 

 

arr1=[2,1] < m(=4) => 조건을 만족하지 못함

arr2=[1]  

 

그렇기 때문에 아래와 같은 간단한 구현으로 이 문제를 해결할 수 있다. (도움을 주신 피자사와님 감사합니다.)

class Solution:
    def canSplitArray(self, nums: List[int], m: int) -> bool:
        if len(nums) <= 2 : return True

        for i in range(len(nums)-1) : 
            if nums[i] + nums[i+1] >= m :
                return True

        return False
'Problem Solving/LeetCode' 카테고리의 다른 글
  • [LeetCode] 746. Min Cost Climbing Stairs
  • [LeetCode] 49. Group Anagrams
  • [LeetCode] 33. Search in Rotated Sorted Array.
  • [LeetCode] 88. Merge Sorted Array
kimdozzi
kimdozzi
끝까지 포기하지 않으면, 내가 다 이겨!
  • kimdozzi
    도브로
    kimdozzi
  • 전체
    오늘
    어제
    • 분류 전체보기 (132)
      • Problem Solving (49)
        • Baekjoon (29)
        • Programmers (0)
        • LeetCode (17)
        • 삼성 유형 (2)
      • Computer Science (27)
        • Operating System (2)
        • Algorithms (13)
        • Network (6)
        • DataBase (6)
      • Backend (33)
        • JavaScript (0)
        • TypeScript (6)
        • Java (7)
        • Spring Boot (7)
        • Spring Security (6)
        • JPA (2)
        • Mybatis (1)
        • Junit5 (1)
        • Redis (3)
      • DevOps (14)
        • Git, Github (5)
        • docker (4)
        • AWS (3)
        • nginx (2)
      • etc (6)
        • IntelliJ (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 티스토리
    • 설정
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준
    오블완
    티스토리챌린지
    CORS
    파이썬
    imos법
    인덱서블 타입
    PrefixSum
    도커
    알고리즘
    python
    AWS
    컨테이너
    segment tree
    인터페이스
    타입스크립트
    TypeScript
    점 업데이트
    구간 업데이트
    Bucket
    오프라인 쿼리
    docker
    삼성기출
    누적합
    interface
    docker image
    세그먼트 트리
    인덱스 시그니처
    S3
    온라인 쿼리
    구간합
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
kimdozzi
[LeetCode] 2811. Check if it is Possible to Split Array
상단으로

티스토리툴바