본문 바로가기
IT/JAVA

[18일차] JAVA 알고리즘 문제풀이 2

by GWLEE 2022. 7. 13.

/*	- 지질학자는 토양샘플 분석을 도와주는 프로그램을 원함
	- 이 프로그램은 샘플내 성분 종류와 각 성분의 함량을 실행인자로 받음
	- 첫 번째 인자는 토양내 성분 이름이며 "," 로 구분되어 있음
	- 두 번째 인자는 각 성분의 함량 정보이며 2차원 정보로 구성됨
	- 각 열은 "<>" 로 구분되어 있으며, 각 행은 "," 로 구분되어 있음
	- 실행 시 입력인자는 다음과 같음
	
	carbon-dioxide,magnesium,sodium,potassium,chloride,water //성분 종류
	8.3,4.5,6.7,2.3,12.5,4.5<>
	3.9,1.8,34.7,23.5,1.2,14.3<>
	6.7,7.4,1.5,18.4,7.2,23.7<>
	23.4,5.6,2.9,18.5,39.5,18.2<>
	15.4,5.3,27.4,9.8,3.8,27.4
	
	- 각 샘플명을 가져오는 getElements 메서드를 다음과 같이 작성하시오
	public static String[] getElements(String inputElementString)
	
	- 각 샘플 함량을 2차원 배열로 저장하여 반환하는 getSamples 메서드를 다음과 같이 작성하시오
	public static double[][] getSamples(String inputElementString)*/

package com.gyuone.homework;


public class MarsSoil {
	public static void main(String[] args) {
		String[] elements = getElements(args[0]);
		printElement(elements);

		System.out.println();

		double[][] samples = getSamples(args[1]);
		printSamples(samples);
	}

	public static String[] getElements(String inputElementString) {
		return inputElementString.split(","); // 샘플명을 가져와서 , 로 쪼개기 
	}

	public static double[][] getSamples(String inputElementString) {
		String[] rowSamples = inputElementString.split("<>"); // <> col 나눔
		String[] columnSamples = rowSamples[0].split(","); // row 나눔

		double[][] samples = new double[rowSamples.length][columnSamples.length]; 

		for (int i = 0; i < samples.length; i++) {
			String[] temp = rowSamples[i].split(",");
			for (int j = 0; j < samples[i].length; j++) {
				samples[i][j] = Double.parseDouble(temp[j]);
			}
		}
		return samples;
	}

	public static void printElement(String[] array) {
		for (String element : array) {
			System.out.println(element);
		}
	}

	public static void printSamples(double[][] samples) {
		for (double[] row : samples) {
			for (double element : row) {
				System.out.printf("%2.1f  ", element);
			}
			System.out.println();
		}
	}
}

 

 

'IT > JAVA' 카테고리의 다른 글

[55일차] JAVA 알고리즘 문제풀이 04  (0) 2022.09.07
[19일차] JAVA  (0) 2022.07.14
[18일차] JAVA 알고리즘 문제풀이 1  (0) 2022.07.13
[18일차] JAVA 컬렉션 프레임워크  (0) 2022.07.13
[17일차] JAVA Programmers 개념정리  (0) 2022.07.12

댓글