[Algorithm] 햄버거 만들기 (w/ Swift & Python)
햄버거 만들기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 햄버거는 빵-야채-고기-빵 [1,2,3,1] 의 순서대로 쌓아야 한다. 재료들을 쌓으면서, 햄버거의 순서인 [1,2,3,1]이 나오면 포장할 수 있는 개수를 늘린다. 마지막 요소 4개가 [1,2,3,1]이라면, Pop을 시켜 Stack에서 없애주고, 마지막 요소가 4개가 아니면 햄버거를 포장할 수 없다. language = swift stack과 continue 구문을 사용한다. stack의 길이가 4 미만일 경우 (stack에 저장된 요소의 수가 4개 미만일 경) 아래의 코드를 실행하지 않고 ..
더보기
[Python] 알고리즘 기초: 시간 복잡도
점근 표기법의 두 가지 종류, O(N), Ω(1)와 시간 복잡도의 개념에 대해 이해해 봅니다. 1. 빅오(Big-O) 표기법 2. 빅오메가(Big-Ω) 표기법 3. 시간 복잡도 - 입력값이 늘어나도 걸리는 시간이 덜 늘어나는 알고리즘이 좋은 알고리즘! 점근 표기법이란? → 알고리즘 "효율성"을 평가하는 방법 = 알고리즘의 성능을 수학적으로 표기 1. 빅오(Big-O) 표기법 : O(N) 최악의 성능이 나올 때 어느 정도의 연산량이 걸릴것인가 Q. 다음과 같은 숫자로 이루어진 배열이 있을 때, 이 배열 내에 특정 숫자가 존재한다면 True, 존재하지 않다면 False 를 반환하는 프로그램을 작성하세요. arr = [3, 5, 6, 1, 2, 4] is_number_exist(3, arr) # True is..
더보기