분류 전체보기(69)
-
[알고리즘] 마방진
마방진 규칙 1. 처음 숫자 1은 1행 가운데 열에서 시작합니다. 2. 행이 감소(5행→4행, 4행→3행...)되고, 열은 증가(1열→2열, 2열→3열...)하면서 다음 데이터가 들어갑니다. 결과적으로 오른쪽 대각선 방향으로 다음 데이터가 들어갑니다. 3. 행이 점차 감소하다가 1행→0행이 되면 마지막 행으로 이동합니다. 4. 열이 점차 증가하다가 마지막 열이 되면 1열로 이동합니다. 5. 5의 배수이면 행만 1행 증가합니다. 6. 위의 조건으로 숫자를 채워나가다 보면 가로, 세로, 대각선의 합이 모두 동일한 마방진이 완성됩니다.
2021.09.28 -
[알고리즘] 직각삼각형 만들기
직각삼각형이란 데이터의 위치가 직각 삼각형 모양을 띄고 있는 형태를 말하는데요. 형태는 아래와 같은 형태를 띌 수도 있고 반대의 형태도 있고 그밖에도 여러 형태를 띌 수 있겠죠. 아래의 형태를 예시로 들어 알고리즘 풀이를 해보겠습니다. 데이터가 들어가는 순서를 보면 행은 고정된 상태에서 열에 따라 오른쪽으로 데이터가 들어가는 걸 볼 수 있습니다. 행고정 열변화 형태인데요. 행고정 열변화에 대해서는 포스팅을 참고해주세요! https://ho-ding.tistory.com/52 행을 i, 열을 j로 선언한다면 행 i 변수의 반복할 규칙은 i = 1, 5, 1 (시작값, 끝값, 증가값)으로 단순하나 열 j 변수의 규칙은 끝값을 상수로 처리하기가 어렵습니다. 위와 같이 변수 j 는 1행에서는 1열, 2행에서는 ..
2021.09.27 -
[알고리즘] 행고정 열변화, 열고정 행변화
배열 선언 준비 단계에서 A(5, 5) 를 선언한다면 5행 5열의 배열을 만들라는 뜻입니다. 조건에 따라 1행 1열부터가 아닌 0행 0열부터 시작할 수 있으니 주의해야 합니다. 행고정 열변화 말그대로 행을 고정한 상태에서 열이 바뀌는 것 데이터가 들어가는 순서가 행이 고정된 상태에서 가로로 진행된다면 행고정 열변화입니다. 순서가 1행 1열, 1행 2열, 1행 3열 순으로 들어가는 것이죠. 순서도는 이중 for문 구조로 나타낼 수 있습니다. 먼저 바깥쪽 변수 i에서 1을 고정한 상태에서 안쪽 변수 j를 1부터 5까지 반복하는 형태입니다. i를 고정하고 j가 증가하는 형태이니 i가 행, j가 열이 되겠죠. 열고정 행변화 반대로 열을 고정한 상태에서 행이 바뀌는 것 데이터가 들어가는 순서가 열이 고정된 상태에..
2021.09.25 -
[알고리즘] 에라토스테네스의 체를 이용해 소수 구하기(JAVA)
소수(prime number) 1보다 큰 양의 정수 중에서 1과 자기 자신만으로 나누어 떨어지는 수를 말합니다. 에라토스테네스의 체 대표적인 소수 판별 알고리즘입니다. 1은 소수가 아니므로 2부터 소수를 구하려는 구간의 수를 모두 나열한 뒤 2의 배수부터 지워나가면 됩니다(2의 배수를 지운다면 자기 자신인 2는 지우지 않습니다) 1부터 50까지 소수 구하기 1. 2의 배수부터 지워나갑니다.(자기 자신은 지우지 않습니다) 2. 이미 지워진 숫자는 건너뛰고 3의 배수를 지웁니다.(자기 자신은 지우지 않습니다) 3. 위와 같은 방법을 반복해 지워나가면 소수만 남아있게 됩니다. 에라토스테네스의 체를 이용해 1부터 50까지의 소수 구하는 법을 JAVA 소스로 구현해보겠습니다. 1 2 3 4 5 6 7 8 9 10..
2021.09.24 -
[알고리즘] 분수 수열 덧셈
분수 수열 문제의 해법 1. 분자, 분모의 상호 연관성이 있는지를 확인 2. 분자, 분모의 반복 규칙을 따로 찾음 3. 분자, 분모의 변수 중 어느 것으로 반복되었는지 확인 ※ 예제 1/2+2/3+3/4+...+49/50을 구하여 출력하는 순서도를 작성하세요. 위의 분수 수열 문제의 해법 중 분자, 분모의 상호 연광성이 있는지 확인해보면 분모 값이 분자 값 보다 1이 크다는 연관성을 알 수 있습니다. 이런 연관성을 변수로 표현한다면 i / (i+1) 이런 방법으로 표현할 수 있습니다. 분자에만 변수를 i로 선언했기 때문에 지금과 같은 경우에는 STOP을 하려면 분자 변수로 선언한 i로 끝을 내야 합니다. 때문에 i값이 49일 때까지 진행하게 하면 됩니다. 순서도를 나타내면 이와 같습니다. i 와 SUM ..
2021.09.23 -
[알고리즘] 알고리즘(Algorithm)의 문법
알고리즘의 문법 변수(Varlable) 변할 수 있는 값 ex) 하나의 컵엔 물이 가득 채워져 있고 또 다른 컵엔 기름이 반만 채워져 있는 상태에서 무엇을 담느냐에 따라 바뀔 수 있는 컵 자체가 변수가 됩니다. 상수(Constant) 항상 일정한 값(변수의 반대 개념) ex) 변수의 예에서는 컵에 채웠던 물, 기름이 상수가 되겠죠. 연산자(Operation) 배열(Array) 동일한 형의 데이터들로 이루어진 집합 1차원 배열 ※ 배열의 시작이 사용 언어마다 달라 A(1) 거나 A(0) 일 수 있습니다. 2차원 배열 ※ 1차원 배열과 마찬가지로 배열의 시작이 달라질 수 있습니다. 함수(Function) 특정 기능을 수행하도록 미리 정의된 수식입니다. 함수는 그 종류가 방대해 그 중 자주 쓰이는 함수 5가지..
2021.09.20