알고리즘이란?


  • 문제를 해결하기 위한 것으로, 명확하게 정의되고 순서가 있는 유한 개의 규칙으로 이루어진 집합
  • 가령 최댓값을 구하라는 문제가 주어졌다고 가정해보자.
    • 우리는 문제를 해결할 일련의 로직, 즉 논리적인 흐름을 작성하고 그에 맞는 입력을 받은 후 출력을 행할 것이다.
    • 그 일련의 로직은 컴퓨터가 이해하기 위해 명확하게 작성되어야하고 흐름을 가지기 위해 순서가 있어야 하며, 사람이 작성하기에 유한성을 띌 것이다.
    • 이로써 최댓값을 구하라는 문제를 해결하였고 이를 알고리즘이라고 한다.

키보드로 숫자 입력하기


import java.util.Scanner;

class A{
  public static void main(string[] args) {
    Scanner stdIn = new Scanner(System.in);
    StdIn.nextInt();
  }
}
  1. java.util 패키지에 있는 Scanner 클래스를 프로그램에 포합시킨다.
  2. Scanner 클래스는 main 메서드 맨 앞에 작성한다. System.in은 키보드와 연결된 표준 입력 스트림이다.
  3. stdIn.nextInt()가 호출되면 키보드로 입력한 정숫값을 얻을 수 있다.

입력 메서드 종류

  • 호출하는 메서드는 자료형에 따라 구분해야한다.

매개변수


  • 메서드를 정의할 때 메서드에 전달되는 값을 저장하기 위해 변수를 선언하는데, 이를 매개변수(parameter) 또는 형식 매개변수(formal parameter)라 한다
  • 메서드를 호출할 때 사용하는 매개변수의 값을 실인수(actual argument)라고 한다.

구조적 프로그래밍


  • 하나의 입구와 하나의 출구를 가진 구성요소 만을 계층적으로 배치하여 프로그램을 구성하는 방법이다.
  • 순차, 선택, 반복이라는 3종류의 제어 흐름을 사용한다.
    • 순차 : 구문 순서에 따라 순차적으로 실행되는 것이다.
    • 선택 : 프로그램 상태에 따라서 여러 구문중 하나를 실행하는 것이다. if~else if~else, switch 등이 해당된다.
    • 반복 : 프로그램이 특정 상태에 도달할 때까지 구문을 반복하여 수행하거나, 집합체의 각각의 원소들에 대해 어떤 구문을 반복 수행하는 것이다. while, for, do while 등이 해당된다.

드모르간 법칙


  • 각 조건을 부정하고 논리곱을 논리 합으로, 논리합을 논리곱으로 바꾸고 다시 전체를 부정하면 원래의 조건과 같다.
  • x && y와 !(!x || !y)는 같다.
  • x || y와 !(!x && !y)는 같다.
profile
do for me

0개의 댓글