[프로그래머스(Ruby)] 4. 주식 가격

Jinsu Kim·2021년 3월 2일
0
post-thumbnail

📌 Level2 : 주식 가격

사용언어 : Ruby

🗒️ 문제설명

초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.

제한사항
prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.
prices의 길이는 2 이상 100,000 이하입니다.
입출력 예

pricesreturn
[1, 2, 3, 2, 3][4, 3, 1, 1, 0]

입출력 예 설명
1초 시점의 ₩1은 끝까지 가격이 떨어지지 않았습니다.
2초 시점의 ₩2은 끝까지 가격이 떨어지지 않았습니다.
3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다.
4초 시점의 ₩2은 1초간 가격이 떨어지지 않았습니다.
5초 시점의 ₩3은 0초간 가격이 떨어지지 않았습니다.
※ 공지 - 2019년 2월 28일 지문이 리뉴얼되었습니다.

✏️ 해결 코드

def solution(prices)
  answer = []
  (prices.length).times do |index|
    less_price_index = prices.index { |x| x < prices[0] }
    second = less_price_index.nil?() ? (prices.length - 1) : less_price_index
    prices.delete_at(0)
    answer.append(second)
  end

  return answer
end

현재 정답은 전부 다 맞았지만

효율성 테스트에서 1~5까지 전부 실패가 나온다(시간 초과)
효율성 쪽에서 좀 더 고려를 해볼 필요가 있는 것 같다.

profile
Ruby와 js로 첫 커리어를 시작하였고 3년차 엔진니어입니다! vim에 관심이 많습니다!

0개의 댓글