[프로그래머스] Java 코딩테스트 - 배열의 길이에 따라 다른 연산하기

yihyun·2025년 4월 21일

코딩테스트

목록 보기
62/105
post-thumbnail

배열의 길이에 따라 다른 연산하기

✅ 문제 설명

정수 배열 arr과 정수 n이 매개변수로 주어집니다. arr의 길이가 홀수라면 arr의 모든 짝수 인덱스 위치에 n을 더한 배열을, arr의 길이가 짝수라면 arr의 모든 홀수 인덱스 위치에 n을 더한 배열을 return 하는 solution 함수를 작성해 주세요.

✅ 제한사항

1 ≤ arr의 길이 ≤ 1,000
1 ≤ arr의 원소 ≤ 1,000
1 ≤ n ≤ 1,000

🔽 소스코드 (작은 index -> 큰 index)

💻 풀이

  • 배열의 길이가 짝수인지 홀수인지를 판별에 시작 인덱스를 구분해준다.
  • 이후 시작 인덱스를 2씩 증가시키며 n의 숫자를 더한 값을 배열에 저장해준다.

시간 0.01ms ~ 0.02ms

	public int[] solution(int[] arr, int n) {
		
		int j = 0;
		if(arr.length % 2 == 0) {
			j = 1;
		}
		
		
		for(int i = j; i < arr.length; i += 2) {
			arr[i] = arr[i] + n;
		}
		
		return arr;
	}

🔽 소스코드 (큰 index -> 작은 index)

💻 풀이

  • 큰 인덱스에서 작은 인덱스로 이동할 경우 배열의 길이가 짝수인지 홀수인지 계산해주지 않아도 된다.
  • 만약 짝수일 경우 자연스럽게 0번 인덱스까지 갈 것이고,
  • 홀수일 경우 1번 인덱스까지만 n을 더한 배열을 return하게 된다.

시간 0.01ms ~ 0.03ms

	public int[] solution1(int[] arr, int n) {
		
		for(int i = arr.length -1; i >= 0; i -= 2) {
			arr[i] += n;
		}
		
		return arr;
	}
profile
개발자가 되어보자

0개의 댓글