교재에서는 알고리즘을
[ 문제를 해결하기 위한 것으로, 명확하게 정의되고 순서가 있는 유한 개의 규칙으로 이루어진 집합 ]
으로 정의하고 있습니다.
예를들어 변수 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! 자료구조와 함께 배우는 알고리즘 입문 - 자바편 ] 을 보고 다시 정리한 것입니다. 저작권 문제시 글을 내립니다.
'Do it! 자료구조와 함께 배우는 알고리즘 입문 (자바)' 카테고리의 다른 글
| 보충수업 1-4 : 세 값의 대소관계와 중앙값 (연습문제 Q4~Q5) (0) | 2022.01.18 |
|---|---|
| 보충수업 1-1 : 자바(java)에서 키보드로 숫자와 문자열 입력하기(1) - Scanner (0) | 2022.01.17 |