알고리즘
3 posts
달팽이 배열

달팽이 배열? snail array.. 달팽이 집 같이 숫자를 배치하고 구분한 배열 어디에 사용하는지는 모르겠지만 귀엽게 생긴 배열이다. 개념은 상하좌우 로 움직이면서 숫자를 넣는 게임기와 같다. 좌상단(시작점) => 우상단 => 우하단 => 좌하단 => 좌상단의 반복 을 구현하면 된다. 구현 달팽이 배열? 구현

February 04, 2023
알고리즘
소수 판별하기

소수? 소수는 1과 자기 자신만을 약수로 가지는 수 ex) 3의 약수는 1 & 3 알고리즘을 풀다보니 소수 구하는 문제가 종종 나온다. 소수를 판별하는 다양한 방법을 정리해보자 ! 소수 찾는 방법 1. 모든 수 확인하기 2부터 주어진 수 - 1 까지의 모든 수를 확인한다. 가장 쉽고, 단순하지만 시간이 오래 걸리는 방법이다. 2. 절반만 확인하기 2-1. 짝수 제외 2를 제외한 짝수는 모두 소수가 아니다. 절반을 제외하는 첫번째 방법… 2-2. 1/2 제외 num 의 약수는 num 의 절반을 넘을 수 없다. 2-1 과 2-2 를 결합하면 탐색의 1/4 을 줄일 수 있다. 하지만, 더 확실하고 좋은 성능의 코드가 있다. 3. 제곱근 활용 제곱근을 사용한 소수 판별. num의 제곱근보다 작은 수에서 약수가 안나온다면 num의 제곱근보다 큰 수에서도 약수가 나올 수 없다. 4. 에라토스테네스의 체 하나의 수를 판별하는 방법이 아닌, 구간 내 소수를 확인하는 방법이다. 3번의 제곱근을 활…

February 04, 2023
알고리즘
프로그래머스 LV1 햄버거 만들기

프로그래머스 LV1 햄버거 만들기 문제 설명 햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 일을 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장을 하게 됩니다. 상수가 일하는 가게는 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장을 합니다. 상수는 손이 굉장히 빠르기 때문에 상수가 포장하는 동안 속 재료가 추가적으로 들어오는 일은 없으며, 재료의 높이는 무시하여 재료가 높이 쌓여서 일이 힘들어지는 경우는 없습니다. 예를 들어, 상수의 앞에 쌓이는 재료의 순서가 [야채, 빵, 빵, 야채, 고기, 빵, 야채, 고기, 빵]일 때, 상수는 여섯 번째 재료가 쌓였을 때, 세 번째 재료부터 여섯 번째 재료를 이용하여 햄버거를 포장하고, 아홉 번째 재료가 쌓였을 때, 두 번째 재료와 일곱 번째 재료부터 아홉 번째 재료…

January 11, 2023
알고리즘