1221_같은 숫자는 싫어
프로그래머스로 스택 문제를 풀어봄! 같은 숫자는 싫어
역시 백문이불여일견 문제를 풀어봐야 더 잘 이해된당.
- 문제: 배열이 주어졌을때 연속된 숫자에서 하나만 남기고 전부 제거 ex) [1,1,3,3,0,1,1] 이면 [1,3,0,1] return 하기
내가 쓴 답
import sys
input = sys.stdin.readline
def solution(arr):
curr = arr[0]
result = []
result.append(curr)
//첫번째 값은 return 값에 넣고 시작
for i in range(1, len(arr)):
if arr[i] == curr:
//동일하다면 지나친다
continue;
else:
//다르다면 return 값에 추가하고 비교하는 값을 변경해준다.
curr = arr[i]
result.append(arr[i])
return result
채점 결과
정확성: 71.9
효율성: 28.1
합계: 100.0 / 100.0
근데 좀더 스택답게 쓰려면, 맨 마지막 값만 비교해주면 되지 않을까 싶어서 다른 답을 써봤다
import sys
input = sys.stdin.readline
def solution(arr):
# [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
result = [arr[0]]
for i in range(1, len(arr)):
if result[-1] != arr[i]:
result.append(arr[i])
return result;
정확성: 71.9
효율성: 28.1
합계: 100.0 / 100.0
근데 점수는 같다…ㅎ
Leave a comment