본문 바로가기
개인 프로젝트/JAVA 학습

함수 기록기

by 황밤 2023. 8. 18.
728x90
반응형
Integer.valueOf(str);
  • 문자열을 정수형으로 바꾸어 주는 함수.
  • 숫자로 구성이 되어있지 않은 경우, exception이 반환되므로 , try/ catch 를 사용하길 권장함.

str = "abc"
char a = '';
char a = str.charAt(인덱스)
  • 해당 인덱스의 char 값을 a 에 return 받을 수 있다.

//문자열의 길이
str = "문자열"
int length = 0;

length = str.length();


//배열의 길이

int array[1,3,4,5,6];
int length = 0;
length = array.length;

프로그래머스 열심히 풀고, 다른 사람의 풀이보고 현타 와서 기록!

 

array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.

 

내코드 :

import java.util.Arrays;
class Solution {
    public int[] solution(int[] arr, int divisor) {
        int[] answer = {};
        int len = arr.length;
        int sum = 0;
        
        for(int i=0; i<len;i++){
            if(arr[i] % divisor == 0){
                sum ++;
            }
            
        }
        if(sum != 0){
            answer = new int[sum];
        
            int n =0;
            while(n<sum){
                for(int j=0; j<len; j++){
                    if(arr[j] % divisor == 0){
                        answer[n] = arr[j];
                        n ++;
                    }   
                }
            }
        }
        else if(sum == 0){
            answer = new int[1];
            answer[0] = -1;
        }
        
        Arrays.sort(answer);
        return answer;
    }
}

한눈에 보기도 어렵고, 굉장히 for 문이 많다.

 

 

 

다른 사람의 코드 :

import java.util.Arrays;

class Divisible {
    public int[] divisible(int[] array, int divisor) {
        return Arrays.stream(array).filter(factor -> factor % divisor == 0).toArray();
    }
    // 아래는 테스트로 출력해 보기 위한 코드입니다.
    public static void main(String[] args) {
        Divisible div = new Divisible();
        int[] array = {5, 9, 7, 10};
        System.out.println( Arrays.toString( div.divisible(array, 5) ));
    }
}

for 문과 if 문을 같이 돌렸던 내 코드와 달리, Arrays api의 filter를 활용하여 divisor로 나눈 나머지가 0이면 toArray() 를 활용해 리스트로 넣었다.

반응형
LIST

'개인 프로젝트 > JAVA 학습' 카테고리의 다른 글

프로그래머스 Java 오답노트  (0) 2023.08.16
Java 객체지향 개념  (2) 2023.08.16
Java 기본문법 2  (0) 2023.08.08
JAVA 프로그래밍  (0) 2023.08.03