전체 글(69)
-
[JAVA] 구구단 구하기
사용자에게 입력받은 값에 따른 구구단을 구해보도록 하겠습니다. 먼저 완성 소스입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import java.util.Scanner; public class Gugudan { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("몇 단을 구할까요?"); int i = scanner.nextInt(); for(int j = 1; j
2021.10.23 -
[JAVA] 입력받은 수 중에서 배수의 합 구하기
사용자가 입력한 수 중에서 특정 배수의 합을 구할 건데요. 예를 들어 사용자가 입력한 수가 9 라 가정했을 때 3의 배수의 합을 구한다면 9 중에서 3의 배수는 3 , 6 , 9 가 됩니다. 따라서 배수의 합인 3 + 6 + 9 = 18 을 구하는 것입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); int sum = 0; for(int i = 1; i
2021.10.22 -
[JAVA] 예외처리(Exception Handling)
예외처리(Exception Handling)란? 예외란 의도치 않은 결과가 나오는 것을 의미합니다. 사용자의 잘못된 조작, 개발자의 잘못된 코딩으로 인해 발생하는 오류입니다. 예외는 에러(Error)와 차이점이 있는데요. 에러는 컴퓨터 하드웨어의 고장이나 오작동, 프로그램의 이상, JAVA JVM 실행에 이상이 생긴 경우 발생해 프로그램 실행이 불가한 상태가 돼 비정상적으로 종료되게 됩니다. 예외처리를 하게 되면 프로그램이 실행 불가한 상태가 되어도 정상 종료되도록 해 줍니다. try, catch, finally문 예외처리에 사용되는 문법입니다. try문 안으로 예외가 발생할 수 있는 코드를 둘러싸고 catch문에서 try문 안에서 발생한 예외를 잡는 기능을 합니다. finally문은 try문 안에서 예..
2021.10.21 -
[알고리즘] 버블정렬
다음과 같은 5개의 데이터를 버블정렬로 정렬할 때의 순서입니다. 선택정렬의 경우 (1)번지의 값을 기준으로 두고 (2)번지, (3)번지.....순으로 즉 (1)→(2) (1)→(3) (1)→(4) (1)→(5) 순으로 비교했지만 버블정렬의 경우 인접한 다음 번지의 값을 비교합니다. (1)→(2) (2)→(3) (3)→(4) (4)→(5) 를 비교해 정렬하는 형태입니다. 그렇기 때문에 1회전 시 순으로 진행되다 종료됩니다. 결국 1회전이 끝나면 마지막 번지에 제일 큰 값이 들어갑니다. 각 회전 마다 비교대상은 이렇습니다. 반복값을 표현하면 i = 1, 4, 1 j = 1, 5-i, 1 이 됩니다. 위와 같은 경우는 5개의 데이터로 한정된 경우지만 그렇지 않고 n값으로 설정됐을 때는 결국 i = 1, n-1..
2021.10.12 -
[알고리즘] 선택정렬
n개의 데이터를 정렬할 때 총 회전 수는 n-1개 (마지막 데이터는 나머지가 다 정리된 뒤 남은 값이기 때문에 정렬할 필요가 없다) 다음은 5개의 데이터를 오름차순으로 정리하는 문제입니다. 5개의 데이터를 서로 비교해서 작은 값부터 왼쪽으로 보내 정렬하는 건데요. 이때 1회전 때 (1)번지의 값을 (2), (3), (4), (5) 번지의 값들과 비교해 가장 작은 값을 찾아 (1)번지에 넣어야 합니다. 비교가 끝나면 가장 작은 값이 (1)번지에 들어가면서 1회전이 끝나게 됩니다. 4회전까지 진행하고 나면 이런 형태가 되는데요. 이때 5회전을 하지 않고 종료됩니다. 남은 값이 하나일 때는 이미 다른 값들과 비교가 끝난 상태이기 때문이죠. 이때 비교하려는 두 값을 i, j 변수에 넣고 비교한다면 이런 형태가 ..
2021.10.12 -
[알고리즘] 90도 회전
A, B 두 개의 2차원 배열이 있을 때 A배열에서 90도를 회전시킨 값이 B배열입니다. A배열은 행이 고정된 상태에서 열이 변화하는 형태이고 B배열은 열이 고정된 상태에서 행이 변화하는 형태인데요. 데이터의 위치를 보면 유사한 공통점을 찾을 수 있습니다. A(1, 1) → B(1, 5) A(1, 2) → B(2, 5) A(1, 3) → B(3, 5) A(1, 4) → B(4, 5) A(1, 5) → B(5, 5) A(2, 1) → B(1, 4) A(2, 2) → B(2, 4) A(2, 3) → B(3, 4) A(2, 4) → B(4, 4) A(2, 5) → B(5, 4) 순으로 반복되는 걸 알 수 있는데요. A배열의 열에 사용된 값이 B배열의 행으로 사용되고 6에서 A배열의 행값을 빼면 B배열의 열값이..
2021.10.08