본문 바로가기

Java/자료구조

1-1 알고리즘이란?

알고리즘

 

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

 

1. 세 값의 최댓값 구하기 

 

- 3개의 정숫값 가운데 '최댓값'을 구하는 프로그램

import java.util.Scanner;

public class Max3 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		System.out.println("세 정수의 최댓값을 구합니다.");
		System.out.print("a의 값: "); int a = sc.nextInt();
		System.out.print("b의 값: "); int b = sc.nextInt();
		System.out.print("c의 값: "); int c = sc.nextInt();
		
		int max = a;
		if(b>max) max =b;
		if(c>max) max = c;
		
		System.out.println("최댓값은"+max+"입니다.");

	}

}

 

- max에 a값을 넣음

- b값이 max보다 크면 max에 b값을 넣음

- c값이 max보다 크면 max에 c값을 넣음 

 

순차(sequential) 구조 

- 여러 문장(프로세스)이 순차적으로 실행되는 구조 

 

선택(selection) 구조 

- ()안에 있는 식을 평가한 결과에 따라 프로그램의 실행 흐름을 변경하는 if 문

 

순서도 

 

 

2.  조건 판단과 분기 

 

- 입력한 정숫값의 부호(양수/음수/0)를 판단하는 프로그램

//입력한 정숫값의 부호(양수/음수/0)를 판단
import java.util.Scanner;

public class JudgeSign {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		System.out.print("정수를 입력하세요: ");
		int n = sc.nextInt();
		
		if(n>0)
			System.out.println("이 수는 양수입니다.");
		else if(n<0)
			System.out.println("이 수는 음수입니다.");
	}

}

 

순서도

- 프로그램을 3가지로 분기 

 

- 프로그램 3개로 분기

- n 값이 1이나 2가 아닌 어떤값이라도 C를 출력

...
if(n == 1)
	System.out.println("A");
else if(n==2)
	System.out.println("B");
else
	System.out.println("C");
...

 

- 프로그램 4개로 분기 

- 3개로 분기하는 것처럼 보이지만 n값이 1,2,3 이외의 값이면 아무것도 출력하지 않음

...
if(n==1)
	System.out.println("A");
else if(n==2)
	System.out.println("B");
else if(n==3)
	System.out.println("C");
...

 

'Java > 자료구조' 카테고리의 다른 글

3-2 선형 검색  (1) 2024.02.01
3-1 검색 알고리즘  (0) 2024.01.31
2-2 클래스  (0) 2024.01.28
2-1 배열  (0) 2024.01.28
1-2. 반복  (1) 2024.01.27