목록스택 (3)
슈프림 블로그
programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 코딩테스트 문제를 풀 때 생각보다 시간초과 에러가 많이 발생한다. 아주 특수한 케이스에 대한 처리를 해주지 않아서 틀리는 경우도 있지만, 어마하게 큰 데이터를 입력받아서 발생하는 시간(메모리) 초과 에러도 아주 잦다. 시간 초과 에러가 발생하면 일단 '조금만 시간을 줄이면 되겠지'라는 생각은 접어야한다. 아예 풀이 방법과 알고리즘을 싹 뜯어 고쳐야한다. 모든 경우를 탐색하는 반복문을 줄이고, 새로운 방법으로 접근을 시도해보자. 이 문제도 시간초과 때문에 생각보다 오래 걸렸던 문제였다. 자료구조와 알고리즘 공부의 필요성을 크게 느꼈다... TMI) 그래서..
programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 스택 개념을 이용하여 푸는 문제다. 인형을 뽑을 때마다 담는 바구니가 스택이라고 생각하자. 스택에 인형을 담기 전에, peek(마지막에 삽입된 값을 읽어옴) 값과 비교해서 같은 인형이면 pop(마지막에 삽입된 값을 꺼내옴/삭제) 한다. 다른 인형이면 뽑은 인형을 push(스택의 마지막에 값을 삽입함) 한다. 스택의 개념을 사용할 뿐, 배열로 작성해도 된다. Swift의 경우 peek은 last, pop..
programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 의문.... def solution(prices): answer = [0 for a in range(len(prices))] for i in range(len(prices)): for j in range(i+1, len(prices)): answer[i] += 1 if prices[i] > prices[j]: break return a..