inblog logo
|
stupefyee
    알고리즘문제풀기

    [JAVA 문제 풀이] 182. 빈배열에 추가, 삭제하기

    프로그래머스 (181860)
    Stupefyee's avatar
    Stupefyee
    Apr 07, 2025
    [JAVA 문제 풀이] 182. 빈배열에 추가, 삭제하기
    Contents
    내가 작성한 코드다른 사람의 코드
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/181860
    notion image
     

    내가 작성한 코드

    import java.util.*; class Solution { public int[] solution(int[] arr, boolean[] flag) { List<Integer> list = new ArrayList<>(); // 임시로 저장할 리스트 // flag 배열을 순회하며 arr 배열의 값을 리스트에 추가하거나 제거 for (int i = 0; i < flag.length; i++) { if (flag[i]) { for (int j = 0; j < arr[i] * 2; j++) { list.add(arr[i]); } } else { for (int j = 0; j < arr[i]; j++) { list.remove(list.size() - 1); } } } return list.stream().mapToInt(i -> i).toArray(); // 리스트를 배열로 변환하여 반환 } }
     

    다른 사람의 코드

    import java.util.stream.Stream; class Solution { public int[] solution(int[] arr, boolean[] flag) { String answer = ""; for(int idx=0; idx<arr.length; idx++) { if(flag[idx]) { answer += String.valueOf(arr[idx]).repeat(arr[idx]*2); // 문자열에 반복해서 추가 } else { answer = answer.substring(0, answer.length() - arr[idx]); // 문자열 뒷부분 제거 } } return Stream.of(answer.split("")).mapToInt(Integer::parseInt).toArray(); // 문자열 배열화 후 인트 배열화 하기 } }
     
    Share article
    Contents
    내가 작성한 코드다른 사람의 코드

    stupefyee

    RSS·Powered by Inblog