매일 Algorithm

신재원·2023년 5월 12일
0

Algorithm

목록 보기
120/243

프로그래머스 (배열 만들기 5)

import java.util.ArrayList;
import java.util.List;

public class problem397 {
    class Solution {
        public int[] solution(String[] intStrs, int k, int s, int l) {

            List<Integer> temp = new ArrayList<>();
            for (int i = 0; i < intStrs.length; i++) {
                // 문자열을 자르고, int로 변환
                int num = Integer.parseInt(intStrs[i].substring(s, s + l));
                if (num > k) {
                    temp.add(num);
                }
            }
            int[] answer = new int[temp.size()];

            for (int i = 0; i < answer.length; i++) {
                answer[i] = temp.get(i);
            }
            return answer;
        }
    }
}

프로그래머스 (빈 배열에 추가, 삭제하기)

import java.util.ArrayList;
import java.util.List;

public class problem398 {
    class Solution {
        public int[] solution(int[] arr, boolean[] flag) {

            List<Integer> list = new ArrayList<>();

            for (int i = 0; i < arr.length; i++) {
                // true 인경우
                if (flag[i]) {
                    int loop = arr[i] * 2;
                    // loop 만큼 List에 값을 담아준다.
                    for (int j = 0; j < loop; j++) {
                        list.add(arr[i]);
                    }
                }
                // false 인경우
                else {
                    int loop = arr[i];
                    for (int j = 0; j < loop; j++) {
                        // 끝부분을 제거해야됨으로 List 길이의 - 1
                        list.remove(list.size() - 1);
                    }
                }
            }

            int[] answer = new int[list.size()];
            for (int i = 0; i < answer.length; i++) {
                answer[i] = list.get(i);
            }
            return answer;
        }
    }
}

프로그래머스 (글자 지우기)

import java.util.ArrayList;
import java.util.List;

public class problem399 {
    class Solution {
        public String solution(String my_string, int[] indices) {
            String answer = "";
            List<String> temp = new ArrayList<>();

            for (int i = 0; i < my_string.length(); i++) {
                // temp 리스트에 my_string의 문자열을
                // 문자 하나씩 꺼낸후 String으로 바꿔주면서 더해주었습니다.
                temp.add(Character.toString(my_string.charAt(i)));
            }

            for (int index : indices) {
                // temp 리스트의 index에 해당하는 인덱스를 공백으로 바꿔준다.
                temp.set(index, "");
            }

            StringBuilder sb = new StringBuilder();
            for (String str : temp) {
                if (!str.isEmpty()) {
                    sb.append(str);
                }
            }

            return sb.toString();
        }
    }
}

0개의 댓글