Notice
Recent Posts
Recent Comments
Link
투케이2K
222. (java/자바) 알고리즘 : 음양 더하기 - for 문 , Arrays.stream.sum 스트림 합계 본문
[개발 환경 설정]
개발 툴 : Eclipse
개발 언어 : Java
[소스 코드]
package ex6;
import java.util.Arrays;
public class MainActivity3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("[Program Start]");
System.out.println("");
/**
* [음양 더하기]
* 1. 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와
* 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다
* 2. signs의 길이는 absolutes의 길이와 같습니다
* 3. 절대값 정수에 true일 경우 +, false일 경우 - 정수를 만든후 결과 값을 리턴하세요
* 4. 입출력 예시 :
* - absolutes = [4,7,12] / signs = [true,false,true] / result = 9
* - absolutes = [1,2,3] / signs = [false,false,true] / result = 0
* 5. 프로그래머스 사이트 : https://programmers.co.kr/learn/courses/30/lessons/76501
* */
// 초기 변수 선언 실시
int int_arr[] = {4, 7, 12}; // [1 번]
//int int_arr[] = {1, 2, 3}; // [2 번]
boolean boolean_arr[] = {true, false, true}; // [1 번]
//boolean boolean_arr[] = {false, false, true}; // [2 번]
// 메소드 호출 실시
System.out.println("결과 : " + solution(int_arr, boolean_arr));
}// 메인 종료
public static int solution(int[] absolutes, boolean[] signs) {
// 리턴 결과를 반환할 변수 선언 실시
int result = 0;
// 인풋값으로 들어온 데이터 확인 실시
System.out.println("absolutes : " + Arrays.toString(absolutes));
System.out.println("signs : " + Arrays.toString(signs));
System.out.println("");
// for 문을 수행하면서 연산 수행 실시
/**
* [세부 설명]
* 1. 문제에서 두배열 길이가 같다고 나와있으므로 for 문을 하나만 사용합니다
* 2. 절대 값으로 배열 데이터가 들어있으므로 (양수라 판단) >> signs 배열 값이 false 일경우만 음수처리를 실시합니다
* */
for (int i=0; i<absolutes.length; i++) {
if(signs[i] == false) absolutes[i] = -absolutes[i]; // 특정 배열값을 - 음수 처리 실시
}
System.out.println("absolutes change : " + Arrays.toString(absolutes));
System.out.println("");
result = Arrays.stream(absolutes).sum(); // 스트림을 사용해서 배열 합계 연산 결과 반환
// return 리턴 결과 반환
return result;
}
}// 클래스 종료
[결과 출력]
[요약 설명]
/**
* [음양 더하기]
* 1. 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와
* 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다
* 2. signs의 길이는 absolutes의 길이와 같습니다
* 3. 절대값 정수에 true일 경우 +, false일 경우 - 정수를 만든후 결과 값을 리턴하세요
* 4. 입출력 예시 :
* - absolutes = [4,7,12] / signs = [true,false,true] / result = 9
* - absolutes = [1,2,3] / signs = [false,false,true] / result = 0
* 5. 프로그래머스 사이트 : https://programmers.co.kr/learn/courses/30/lessons/76501
* */
반응형
'Java' 카테고리의 다른 글
Comments