programmers 기초 Day22

Hwani·2024년 6월 22일

프로그래머스 DAY 1~25

목록 보기
48/51

문제 - 0 떼기

풀이

class Solution {
    public String solution(String n_str) {
        int i = Integer.parseInt(n_str);
        return i+"";
    }
}

설명

  • 정수 0이 맨 앞에 있다면 존재하지 않는 숫자이기에 앞에 0은 없어지므로 int형변환 후 리턴한다.

문제 - 두 수의 합

풀이

import java.math.*;

class Solution {
    public String solution(String a, String b) {
        BigInteger numA = new BigInteger(a);
        BigInteger numB = new BigInteger(b);
        BigInteger sum = numA.add(numB);
        
        String answer = sum.toString();
        
        return answer;
    }
}

설명

Int로 형변환하여 풀어봤는데 Int가 정의하는 최댓값을 넘어 풀지 못했다.
BigInteger를 사용하여 푸는 문제이다.
BigInteger는 메모리 한계 내에서 매우 큰 정수를 표현할 수 있는 만큼 매우 큰 숫자를 다룰 수 있다.

  • BigInteger로 String 타입의 변수를 전환하여 계산 후 리턴한다.

문제 - 문자열로 변환

풀이

class Solution {
    public String solution(int n) {
        return Integer.toString(n);
    }
}

설명

  • 매개변수 n을 String으로 전환 후 리턴한다.

문제 - 배열의 원소 삭제하기

풀이

import java.util.*;

class Solution {
    public int[] solution(int[] arr, int[] delete_list) {
        ArrayList<Integer> list = new ArrayList<>();

        // arr의 요소를 list에 추가
        for (int i = 0; i < arr.length; i++) {
            list.add(arr[i]);
        }

        // delete_list의 요소를 list에서 제거
        for (int i = 0; i < delete_list.length; i++) {
            list.remove(Integer.valueOf(delete_list[i]));
        }

        // 결과를 int 배열로 변환하여 반환
        int[] result = new int[list.size()];
        for (int i = 0; i < list.size(); i++) {
            result[i] = list.get(i);
        }

        return result;
    }
}

설명

  • ArrayList 생성
  • arr의 값을 list에 담는다.
  • list에 있는 값을 delete_list의 값이 존재하면 삭제한다.
  • list에 담긴 값을 배열에 담아 리턴한다.

문제 - 부분 문자열인지 확인하기

풀이

public int solution(String my_string, String target) {
        return my_string.contains(target) ? 1 : 0;
    }

설명

  • contains() 함수를 이용해 target이 포함하는지 확인 후 리턴한다.
profile
개발자될거야

0개의 댓글