코딩테스트/프로그래머스_코딩 기초 트레이닝

[프로그래머스] 조건에 맞게 수열 변환하기 1

아리빠 2023. 6. 3. 13:58
정수 배열 arr가 주어집니다. arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고, 50보다 작은 홀수라면 2를 곱합니다. 그 결과인 정수 배열을 return 하는 solution 함수를 완성해 주세요.

 

 

 

<생각과정>

arr의 각 원소를 50과 비교-> for반복문 
50보다 크거나 같은 "짝수면" 나누고 -> if문
 작은 "홀수"면 곱셈-> else if문

 

class Solution {
    public int[] solution(int[] arr) {
        
        for(int i=0; i<arr.length; i++){
            if(i>=50 && i%2 ==0){
                arr[i] = i/2;
            }else if(i<50 && i%2 !=0){
                 arr[i] = i*2; 
             }  
            }
        return arr;
        }
     
    }

결과값이 1 2 3 6 99 10 이 나온건 너무 요상한데 

for문 i 를 배열 i가 아닌 그냥 비교 if문으로 해줬네...

class Solution {
    public int[] solution(int[] arr) {
        
        for(int i=0; i<arr.length; i++){
            if(arr[i]>=50 && arr[i]%2 ==0){
                arr[i] = arr[i]/2;
               
            }else if(arr[i]<50 && arr[i]%2 !=0){
                 arr[i] = arr[i]*2; 
                
             }  
            }
        return arr;
        }
     
    }