[프로그래머스/Python] 짝지어 제거하기

2023. 9. 5. 01:22· Algorithm/Programmers
def solution(s):
    answer = -1

    stack = [s[0]]
    for i in s[1:]:
        if stack and stack[-1] == i:
            stack.pop()
            continue
        stack.append(i)

    answer = 1 if not stack else 0
    return answer

연속인 문자를 어떻게 체크할까?

스택에 문자를 넣어줄 때, 맨 위 top 원소가 같은 문자인지 체크하면 된다.

같은 원소라면, pop해서 꺼내주고, 아니라면 append 한다.

 

모든 문자를 넣어주고 stack이 비어 있으면 짝지어 제거가 가능하므로 1 리턴, 그 외는 0 리턴이다.

 

+) 그리고 미친 풀이

class ALWAYS_CORRECT(object):
    def __eq__(self,other):
        return True

def solution(a):
    answer = ALWAYS_CORRECT()
    return answer;

와ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

이게 여전히 동작하는 코드인지는 모르겠으나 엄청난 사람인건 알 수 있다!!

 

python에서 __eq__ 는 연산자 '=='를 오버로딩한다.

온라인 저지에서 'isCorrect = solution(42) == 42424' 이런식으로 체크하는 것을 역이용했다.

항상 True를 반환하도록 __eq__를 짜면, 뒤에 어떤 수와 비교를 하더라도 항상 True를 반환하기에 항상 정답 처리되는 것처럼 속이는 원리다.

- 프로그래머스 Yongjun Park님 댓글

'Algorithm > Programmers' 카테고리의 다른 글

[프로그래머스/Python] 베스트앨범  (0) 2023.09.13
[프로그래머스/Python] 의상  (0) 2023.09.12
[프로그래머스/Python] 전화번호 목록  (0) 2023.09.12
[프로그래머스/Python] 뒤에 있는 큰 수 찾기  (0) 2023.09.05
[프로그래머스/Python] 스택/큐  (0) 2023.09.05
'Algorithm/Programmers' 카테고리의 다른 글
  • [프로그래머스/Python] 의상
  • [프로그래머스/Python] 전화번호 목록
  • [프로그래머스/Python] 뒤에 있는 큰 수 찾기
  • [프로그래머스/Python] 스택/큐
빵빵0
빵빵0
(아직은) 공부하고 정리하는 블로그입니다.
빵빵0
Hack Your World
빵빵0
전체
오늘
어제
  • 분류 전체보기 (69)
    • Error Handling (3)
    • Project (1)
    • Computer Science (4)
      • Data Structure (2)
      • Database (1)
      • Cloud (0)
      • OS (0)
      • Infra, Network (1)
      • AI (0)
    • Language (3)
      • Go (3)
      • Rust (0)
      • Python (0)
      • Java (0)
    • Algorithm (39)
      • BaekJoon (18)
      • Programmers (7)
      • LeetCode (6)
      • NeetCode (8)
    • SW Books (9)
      • gRPC Up & Running (1)
      • System Design Interview (2)
      • 스프링 입문을 위한 자바 객체지향의 원리와 이해 (6)
      • 블록체인 해설서 (0)
      • 후니의 쉽게 쓴 CISCO 네트워킹 (0)
    • Own (2)
      • Personal (0)
      • Novel (0)
      • Comics & Animation (0)
      • Memo (2)
    • BlockChain (4)
      • Issues (0)
      • Research (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Python
  • BEAKJOON
  • KBW
  • NeetCode
  • candlechart
  • LeetCode
  • 프로그래머스
  • BaekJoon
  • two pointer
  • 백준
  • 해시
  • go 버그
  • DP
  • Greedy
  • golang
  • 블록체인
  • go 데이터
  • Palindrome
  • Hash Table
  • BFS
  • MongoDB
  • 그리디
  • 2024
  • 스택
  • go 에러
  • ohlcv
  • decimal
  • 큐
  • Programmers
  • go

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
빵빵0
[프로그래머스/Python] 짝지어 제거하기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.