본문 바로가기

Aibao

[Python] LinkedList 예제 (Palindrome) 주어진 리스트가 팰린드롬인지 판별하는 프로그램을 작성하세요. 예시1) [1, 2, 2, 1] ⇒ True 예시2) [1, 2] ⇒ False test.python from structures import LinkedList l1 = LinkedList() for num in [1, 2, 2, 1]: l1.append(num) l2 = LinkedList() for num in [1, 2]: l2.append(num) assert isPalindrome(l1) assert not isPalindrome(l2) practice.python def isPalindrome(ln): arr = [] head = ln.head if not head: return True node = head while node: .. 더보기
[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.. 더보기
[Python] Basic (2) 기초문법의 내맘대로 마지막! 조건문과 반복문을 복습해 봅니다. 아래 링크에서 최근 공부를 시작한 Swift 언어와 비교하며 두 언어의 차이점도 알아봅니다. Swift 조건문과 반복문 보러가기 #1. 조건문 #2. 반복문 #3. 클래스 1. 조건문 if / else 로 구성! def is_adult(age): if age > 20: print('성인입니다') # 조건이 참이면 성인입니다를 출력 else: print('청소년이에요') # 조건이 거짓이면 청소년이에요를 출력 is_adult(30) # 무엇이 출력될까요? 2. 반복문 파이썬에서의 반복문은, 리스트의 요소들을 하나씩 꺼내쓰는 형태 → 무조건 리스트와 함께 쓰인다. fruits = ['사과','배','감','귤'] for fruit in fruit.. 더보기
[Python] Basic (1) 23년 하반기에 공부했던 Python 기초 문법을 하나씩 둘씩 정리하며 복습해 봅니다. 아자아자 다시 시작이다앗! #1. 변수 & 기본연산 #2. 자료형 - 숫자,문자형 / 리스트형 / Dictionary형 / Dictionary형과 List형의 조합 #3. 함수 - 함수의 정의 / 함수의 응용 #1 변수 & 기본연산 a = 3 # 3을 a에 넣는다 b = a # a를 b에 넣는다 a = a + 1 # a+1을 다시 a에 넣는다 num1 = a*b # a*b의 값을 num1이라는 변수에 넣는다 num2 = 99 # 99의 값을 num2이라는 변수에 넣는다 # 변수의 이름은 마음대로 지을 수 있음! # 진짜 "마음대로" 짓는 게 좋을까? var1, var2 이렇게? ※ 모든 프로그래밍 언어가 그렇겠지만 변.. 더보기