교재에서는 알고리즘을

 

[ 문제를 해결하기 위한 것으로, 명확하게 정의되고 순서가 있는 유한 개의 규칙으로 이루어진 집합 ]

 

으로 정의하고 있습니다.

 

예를들어 변수 a, b, c의 최대값을 max라는 변수를 이용해 구하는 과정은 다음과 같습니다.

① int max = a;            //max에 a값 대입                      

② if(b>max) max = b;   //b > max 이면 max에 b값 대입

③ if(c>max) max = c;   //c > max 이면 max에 c값 대입

 

①, ②, ③ 이 순서대로 실행되면 max에는 a,b,c 중 가장 큰 값이 대입됩니다!

이 메서드에서 max를 return 해서 사용하면 되겠습니다. (메서드란?)

 

순차적 구조, 선택 구조

이렇게 1,2,3이 순서대로 실행되는 것을 순차적(concatenation) 구조라고 하고,

2,3에서 [ ~이면(if문) ]의 결과에 따라 프로그램의 흐름이 바뀌는 것을 선택(selection) 구조라고 합니다. 

 

Scanner가 뭐고 왜 쓰나요? 

보충수업 1-1 : 자바(java)에서 키보드로 숫자와 문자열 입력하기(1) - Scanner

보충수업 1-2 : 자바(java)에서 키보드로 숫자와 문자열 입력하기(2)

 

최대, 최소값은 알겠는데 중앙값을 알고 싶으면 어떡하나요?

보충수업 1-4 : 세 값의 대소관계와 중앙값 (연습문제 Q4~Q5)

 

 

연습문제 Q1. 

import java.util.Scanner; //Scanner 클래스를 이용하기위해 import해야한다.

public class practice {
	
	static int max4(int a, int b, int c, int d) {
		int max=a;
		if(b>max) max=b;
		if(c>max) max=c;
		if(d>max) max=d;
		return max;
	}

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		System.out.println("input 4 integers");
		int a = scan.nextInt();
		int b = scan.nextInt();
		int c = scan.nextInt();
		int d = scan.nextInt();
		
		System.out.println("max is "+max4(a, b, c, d));
		
	}
}

연습문제 Q2. 

import java.util.Scanner;

public class practice {
	
	static int min3(int a, int b, int c) {
		int min=a;
		if(b<min) min=b;
		if(c<min) min=c;
		return min;
	}

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		System.out.println("input 3 integers");
		int a = scan.nextInt();
		int b = scan.nextInt();
		int c = scan.nextInt();

		System.out.println("min is "+min3(a, b, c));
		
	}
}

연습문제 Q3. 

import java.util.Scanner;

public class practice {
	
	static int min4(int a, int b, int c, int d) {
		int min=a;
		if(b<min) min=b;
		if(c<min) min=c;
		if(d<min) min=d;
		return min;
	}

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		System.out.println("input 4 integers");
		int a = scan.nextInt();
		int b = scan.nextInt();
		int c = scan.nextInt();
		int d = scan.nextInt();

		System.out.println("min is "+min4(a, b, c, d));
		
	}
}

 

 

 

 

 

 

※ 코드는 직접 작성한 것이므로 최선이 아닐 수 있습니다. 댓글로 알려주시면 감사하겠습니다.

※ 본문은 [ Do it! 자료구조와 함께 배우는 알고리즘 입문 - 자바편 ] 을 보고 다시 정리한 것입니다. 저작권 문제시 글을 내립니다.

+ Recent posts