[Java Algorithm] 프로그래머스 Lv.0 _ 배열 만들기 4

2025. 2. 25. 17:56·Algorithm Study

[문제]

정수 배열 arr가 주어집니다. arr를 이용해 새로운 배열 stk를 만드려고 합니다.
변수 i를 만들어 초기값을 0으로 설정한 후 i가 arr의 길이보다 작으면 다음 작업을 반복합니다.
만약 stk가 빈 배열이라면 arr[i]를 stk에 추가하고 i에 1을 더합니다.stk에 원소가 있고, stk의 마지막 원소가 arr[i]보다 작으면 arr[i]를 stk의 뒤에 추가하고 i에 1을 더합니다.stk에 원소가 있는데 stk의 마지막 원소가 arr[i]보다 크거나 같으면 stk의 마지막 원소를 stk에서 제거합니다.
위 작업을 마친 후 만들어진 stk를 return 하는 solution 함수를 완성해 주세요.

 

[Algorithm]

while 반복문 사용

조건 : arr 배열의 길이보다 i가 작은 경우 로직 실행

내부에는 알맞은 조건에 따른 분기 처리를 통해 결과값 도출

 

[Code]

import java.util.*;

class Solution {
    public int[] solution(int[] arr) {
        List<Integer> stk = new ArrayList<>();
        int i = 0;
        
        while(i<arr.length) {
            if(stk.isEmpty()) {
                stk.add(arr[i]);
                i++;
            } else if (stk.get(stk.size() -1)< arr[i]) {
                stk.add(arr[i]);
                i++;
            } else {
                stk.remove(stk.size()-1);
            }
        }
        
        return stk.stream().mapToInt(x -> x).toArray();
    }
}

 

[+ Plus]

* Java Stream _ mapToInt

mapToInt는 객체 타입을 기본 타입으로 바꿔주는 메서드

 

현재 List<Integer>로 선언되어 있는 result를 int[] 형식으로 반환하려면,

mapToInt를 통해 기본 객체로 바꿔주고 toArray()를 통해 배열로 변환해줘야 함.

저작자표시 변경금지 (새창열림)

'Algorithm Study' 카테고리의 다른 글

[Java Algorithm] 프로그래머스 Lv.0 _ 주사위 게임 3  (0) 2025.03.13
[Java Algorithm] 프로그래머스 Lv.0 _ 간단한 논리 연산  (1) 2025.03.05
[Java Algorithm] 프로그래머스 Lv.0 _ 콜라츠 수열 만들기  (0) 2025.02.25
[Java Algorithm] 프로그래머스 Lv.0 _ 수열과 구간 쿼리 2  (0) 2025.02.24
[Java Algorithm] 프로그래머스 Lv.0 _ 수열과 구간 쿼리 3  (1) 2025.02.24
'Algorithm Study' 카테고리의 다른 글
  • [Java Algorithm] 프로그래머스 Lv.0 _ 주사위 게임 3
  • [Java Algorithm] 프로그래머스 Lv.0 _ 간단한 논리 연산
  • [Java Algorithm] 프로그래머스 Lv.0 _ 콜라츠 수열 만들기
  • [Java Algorithm] 프로그래머스 Lv.0 _ 수열과 구간 쿼리 2
microsaurs
microsaurs
개발 스터디로그입니다. 공부한 내용을 정리해서 올립니다 ㅇ-ㅇ
  • microsaurs
    microsaurs.devlog
    microsaurs
  • 전체
    오늘
    어제
    • 분류 전체보기 (138)
      • Algorithm Study (39)
      • JAVA (8)
      • Swift (11)
      • Python (21)
      • CS (5)
      • React (3)
      • 리얼클래스 studylog (27)
      • 정보처리기사[실기] (23)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    javaalgorithm
    파이썬기초
    파이썬문법
    정처기실기
    자바알고리즘
    타일러영어
    리얼클래스
    The Office
    Java
    스위프트기초
    영어독학
    더오피스
    정보처리기사프로그래밍언어
    프로그래머스
    파이썬
    정보처리기사
    SWIFT
    Algorithm
    study
    리얼학습일기
    프로그래밍언어
    나도코딩
    영어회화
    ios프로그래밍
    Python
    알고리즘
    javaStudy
    ios개발
    정보처리기사실기
    ios프로그래밍을위한스위프트기초
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
microsaurs
[Java Algorithm] 프로그래머스 Lv.0 _ 배열 만들기 4

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.