이숭간 공부기록
[프로그래머스] 파이썬 _ 표 편집 ( 2021 KAKAO INTERN) ( 효율성 통과 X) 본문
728x90
https://programmers.co.kr/learn/courses/30/lessons/81303
문제유형 : 구현
문제풀이 :
- 일단 이문제는 내가 푼 시점에서 푼사람이 0명인 문제다... 얼마전에 올라온건가??
- 2시간동안 풀었는데 결국 효율성을 통과하지 못했다..
최초가 되고싶었는데.. 근데 검색해도 하나도 안나오고 질문하기도 0이라 도저히 머리가 터질거같아서 일단 이쯤하고 올려둔다. 아시는분있음 댓글좀 부탁드립니닷 - 나중에 다시 풀러 오겠다.
정확도만 통과 + 효율성 2개통과코드
from bisect import bisect_left
def solution(n, k, cmd):
N = n
data = [i for i in range(n)]
# 삭제된 인덱스들을 넣어놓을 스택
rm_stack = []
for order in cmd:
#print(k, data)
# C나 Z
if len(order) == 1:
#삭제
if order == 'C':
num = data.pop(k)
rm_stack.append(num) # 인덱스와 값을 저장
if k == len(data):
k -= 1
# 복원
else:
q = rm_stack.pop()
idx = bisect_left(data, q)
if q < data[k]:
k += 1
data.insert(idx,q)
else:
do, num = order.split()
num = int(num)
# 아래로이동 -> K를 증가
if do == 'D':
k += num
# 위로이동 -> K를 감소
else:
k -= num
#print(k, data)
answer = ['O'] * N
for i in rm_stack:
answer[i] = 'X'
#print(answer)
return ''.join(answer)
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 자바/파이썬 _ 기능개발 (0) | 2021.07.09 |
---|---|
[프로그래머스] 파이썬 _ 뉴스 클러스터링 (0) | 2021.07.08 |
[프로그래머스] 파이썬 _ 가장먼 노드 (0) | 2021.07.07 |
[프로그래머스] 파이썬 _ 카펫 (0) | 2021.07.07 |
[프로그래머스] 파이썬 _ 소수찾기 (0) | 2021.07.07 |