-
[코딩테스트] - 주식 가격 LV2 ( 프로그래머스(programmers) / java )👍programmers 2023. 7. 18. 10:59728x90반응형
안녕하세요 나홀로전세집입니다.
https://school.programmers.co.kr/learn/courses/30/lessons/42584
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 주식가격
문제 설명초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.
제한사항- prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.
- prices의 길이는 2 이상 100,000 이하입니다
문제는 주식 값이 떨어지지 않는 시간을 구하는 것입니다.
바로 코드 보여드리겠습니다.
int[] answer = new int[prices.length]; // 리턴값 for (int i = 0; i < prices.length; i++) { for (int j = i + 1; j < prices.length; j++) { if (prices[i] > prices[j]) { // 앞에 가격이 더 클 때 answer[i]++; // 앞에 값이 더 클 때 == 가격이 떨어졌을 때 break; // 가격이 떨어지면 값 비교하는 부분 break } else { answer[i]++; // 가격이 안떨어졌을 때는 answer값 1씩 증가 } } }
2중 for문을 사용하여 문제를 풀이했습니다.
첫 번째 for문은 비교 당하는 가격을 정하는 for문이고요
두 번째 for문은 비교 할 가격을 정하는 for문입니다. 이 반복문 안에서는 if문을 사용하여
앞자리 가격이 더 클 때 ==> 가격이 떨어졌을 때 반복문을 탈출하는 break를 사용했습니다.
지금까지 풀었던 LV2 문제 중 가장 풀이하기 쉬웠습니다. 다른 자료구도로도 풀이방법이 있던데 그것은 나중에 풀어보고
올려드리도록 하겠습니다.
전체 코드class Solution { public int[] solution(int[] prices) { int[] answer = new int[prices.length]; // 리턴값 for (int i = 0; i < prices.length; i++) { for (int j = i + 1; j < prices.length; j++) { if (prices[i] > prices[j]) { // 앞에 가격이 더 클 때 answer[i]++; // 앞에 값이 더 클 때 == 가격이 떨어졌을 때 break; // 가격이 떨어지면 값 비교하는 부분 break } else { answer[i]++; // 가격이 안떨어졌을 때는 answer값 1씩 증가 } } } return answer; } }
오늘도 즐코딩 하시고 좋은 하루 되세요~
728x90반응형'programmers' 카테고리의 다른 글
[코딩테스트] - 타겟 넘버 LV2 - ( 프로그래머스(programmers) / java )👍 (3) 2023.07.25 [코딩테스트] - 카펫 LV2 - ( 프로그래머스(programmers) / java )👍 (2) 2023.07.24 [코딩테스트] - 최솟값 만들기 LV2 ( 프로그래머스(programmers) / java )👍 (1) 2023.07.18 [코딩테스트] - 올바른 괄호 LV2 ( 프로그래머스(programmers) / java )👍 (1) 2023.07.17 [코딩테스트] - 택배 상자 LV2 - ( 프로그래머스(programmers) / java )👍 (9) 2023.07.17