[프로그래머스/java/Lv.0] 배열의 길이에 따라 다른 연산하기

2025. 1. 20. 10:58·코테/프로그래머스 JAVA Lv.0

 

 

 

* 문제 풀이

class Solution {
    public int[] solution(int[] arr, int n) {
        int[] answer = new int[arr.length];
        if(arr.length % 2 != 0){
            for(int i = 0; i < arr.length; i++){
                if(i % 2 ==0){
                    answer[i] = arr[i] + n;
                } else{
                    answer[i] = arr[i];
                }
            }
        } else {
            for(int i = 0; i < arr.length; i++){
                if(i % 2 != 0){
                    answer[i] = arr[i] + n;
                } else{
                    answer[i] = arr[i];
                }
            }
        }
        return answer;
    }
}

 

너무 복잡하게 푼 것 같다...

 

 

 

* 프로그래머스 다른 풀이

class Solution {
    public int[] solution(int[] arr, int n) {
        //int[] answer = new int[arr.length];

        if(arr.length % 2 != 0){
            for(int i = 0; i < arr.length; i += 2){
                arr[i] += n;
            }
        }
        else{
            for(int i = 1; i < arr.length; i += 2){
                arr[i] += n;
            }
        }

        return arr;
    }
}
class Solution {
    public int[] solution(int[] arr, int n) {
        int[] answer = new int[arr.length];
        
        for (int i = 0; i < arr.length; i++) {
            if (arr.length % 2 == 1 && i % 2 == 0) {
                answer[i] = arr[i] + n;
            } else if (arr.length % 2 == 0 && i % 2 == 1) {
                answer[i] = arr[i] + n;
            } else {
                answer[i] = arr[i];
            }
        }
        
        return answer;
    }
}
class Solution {
    public int[] solution(int[] arr, int n) {
        for(int idx=arr.length%2==0?1:0; idx<arr.length; idx+=2) {
            arr[idx]+=n;
        }

        return arr;
    }
}

int idx = arr.length % 2 * - 1 + 1;  이렇게 하면 삼항 연산자 안 써도 된다고 한다.

int idx = (arr.length % 2)^1; 도 가능

 

 

 

 

 

저작자표시 비영리 변경금지 (새창열림)

'코테 > 프로그래머스 JAVA Lv.0' 카테고리의 다른 글

[프로그래머스/java/Lv.0] 더 크게 합치기  (0) 2025.01.22
[프로그래머스/java/Lv.0] 배열 비교하기  (0) 2025.01.21
[프로그래머스/java/Lv.0] 뒤에서 5등 위로  (0) 2025.01.17
[프로그래머스/java/Lv.0] 부분 문자열인지 확인하기  (0) 2025.01.15
[프로그래머스/java/Lv.0] 부분 문자열  (0) 2025.01.15
'코테/프로그래머스 JAVA Lv.0' 카테고리의 다른 글
  • [프로그래머스/java/Lv.0] 더 크게 합치기
  • [프로그래머스/java/Lv.0] 배열 비교하기
  • [프로그래머스/java/Lv.0] 뒤에서 5등 위로
  • [프로그래머스/java/Lv.0] 부분 문자열인지 확인하기
amying
amying
공부해보겠슨
  • amying
    꽁꽁 얼어붙은 자바 위를 자박자박
    amying
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기 (332)
      • 공부 (55)
        • JAVA (17)
        • Spring (17)
        • Java Script (1)
        • React (0)
        • SQL (3)
        • DB (1)
        • CS (13)
        • 기술면접 (3)
      • Git (2)
      • 강의 (36)
        • 부스트코스: Connect On: 테크와 나를 잇.. (16)
        • 부스트코스: CS50 (20)
      • 네이버 부스트캠프 베이직 (25. 06) (0)
      • 에러 (10)
      • 코테 (205)
        • 백준 (29)
        • 프로그래머스 JAVA Lv.0 (116)
        • 프로그래머스 JAVA Lv.1 (7)
        • 프로그래머스 SQL (53)
      • 개인 프로젝트 (16)
        • 책첵 CHAEKCHECK (2)
        • 일정 관리 서비스 만들기 (0)
        • 게시판 만들기 (eclipse-JSP) (14)
      • 이것저것 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    ORACLE에러
    알고리즘
    책첵개발일지
    업무자동화
    CS50
    부스트코스
    springbot
    git명령어
    코딩테스트_입문
    부스트코스강의
    데이터연동
    오라클에러
    코테
    프로그래머스
    Java
    lombok
    에러
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.4
amying
[프로그래머스/java/Lv.0] 배열의 길이에 따라 다른 연산하기
상단으로

티스토리툴바