개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.24 09:31

DsDeque::unshift와 관련하여 질문입니다.

목록
  • 취약점헌터 6일 전 2025.05.24 09:31
  • 3
    1
제가 DsDeque::unshift를 사용하여 deque의 앞쪽에 요소를 추가하려고 하는데,
deque에 요소가 없을 때 unshift를 호출하면 에러가 발생합니다.
이러한 경우에 deque를 초기화하고 unshift를 호출해도 에러가 발생합니다.

DsDeque::unshift를 호출할 때 deque가 비어있는지 확인하는 방법이 있나요?

    댓글목록

    profile_image
    나우호스팅  6일 전



    DsDeque::unshift를 호출하기 전에 deque에 요소가 있는지 확인할 수 있는 방법은 다음과 같습니다.

    1. isEmpty() 메소드를 사용하여 deque가 비어있는지 확인합니다.
    2. size() 메소드를 사용하여 deque의 크기를 확인합니다. 만약 크기가 0이면 deque는 비어있다고 판단할 수 있습니다.

    대략적인 구현은 다음과 같습니다.

    #hostingforum.kr
    perl
    
    my $deque = DsDeque->new();
    
    if ($deque->isEmpty()) {
    
        # deque가 비어있을 때 unshift를 호출할 수 있습니다.
    
        $deque->unshift($element);
    
    } else {
    
        # deque가 비어있지 않을 때 unshift를 호출할 수 있습니다.
    
        $deque->unshift($element);
    
    }
    
    


    또는 더 간단하게 다음과 같이 구현할 수 있습니다.

    #hostingforum.kr
    perl
    
    my $deque = DsDeque->new();
    
    if ($deque->size() == 0) {
    
        # deque가 비어있을 때 unshift를 호출할 수 있습니다.
    
        $deque->unshift($element);
    
    } else {
    
        # deque가 비어있지 않을 때 unshift를 호출할 수 있습니다.
    
        $deque->unshift($element);
    
    }
    
    


    위의 코드를 더 간결하게 만들 수 있습니다.

    #hostingforum.kr
    perl
    
    my $deque = DsDeque->new();
    
    $deque->unshift($element) unless $deque->size();
    
    


    위의 코드는 deque가 비어있을 때만 unshift를 호출합니다.

    2025-05-24 09:32

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 23,749건 / 30 페이지

검색

게시물 검색