민공지능/알고리즘(16)
-
[이것이 취업을 위한 코딩 테스트다 with 파이썬] 2-2강(구현)
https://youtu.be/2zjoKjt97vQ?t=1872 구현(Implementation)이란, 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정이다. 알고리즘 대회에서 구현 유형의 문제란, 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제를 지칭한다. 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제(프로그래밍 언어에 따라 유형이 달라진다) 실수 연산을 다루고, 특정 소수점 자리까지 출력해야 하는 문제 문자열을 특정한 기준에 따라서 끊어 처리해야 하는 문제 적절한 라이브러리를 찾아서 사용해야 하는 문제 일반적으로 왼쪽 위가 행렬에서 첫번째 원소다. 상하좌우 # N 입력 받기 n = int(input()) x, y =1, 1 plans = input().split() # L, R, U,..
2021.04.28 -
[이것이 취업을 위한 코딩 테스트다 with 파이썬] 2-1강(그리디 알고리즘, 예제)
그리디 알고리즘 그리디 알고리즘(탐욕법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미한다. 매 순간 가장 좋아보이는 것을 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않는다. 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구한다. 그리디 해법은 그 정당성 분석이 중요하다. 단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토한다. 그리디 알고리즘은 위와 같이 단순히 매 상황에서 가장 큰 값만 고르는 방식어서 일반적인 상황에서 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많다. 하지만 코딩 테스트에서의 대부분의 그리디 문제는 탐욕법으로 얻은 해가 최적의 해가 되는 상황에서, 이를 추론할 수 있어야..
2021.04.27 -
[이것이 취업을 위한 코딩 테스트다 with 파이썬] 1-2강(문자열, 튜플, 사전, 집합 자료형)
* 유튜브를 보고 정리한 내용입니다. 이것이 취업을 위한 코딩 테스트다 with 파이썬, 저자 나동빈 백슬래시(\)는 escape 문자를 만들기 위해 사용할 수 있으며, 파이썬 문법이 정해놓은 약속 data = "Don't you know \"python\"?" print(data) # Don't you know "python"? a = "Hello" b = "World" print(a+ " " +b) #Hello World a = "String" print(a * 3) # StringStringString a = "ABCDEF" print(a[2:4]) # CD a[2] = 'a' # 'str' object does not support item assignment # 문자열 자료형은 원소 할당을 지원..
2021.04.27 -
[이것이 취업을 위한 코딩 테스트다 with 파이썬] 1-1강(수 자료형, 리스트 자료형)
* 유튜브를 보고 정리한 내용입니다. 이것이 취업을 위한 코딩 테스트다 with 파이썬, 저자 나동빈 시간 복잡도를 표현할 때는 빅오(Big-O) 표기법을 사용한다. N개의 데이터의 합을 계산하는 프로그램 예제 array = [3,5,1,2,4] # 5개의 데이터(N=5) # array 변수에 리스트 객체 할당 summary = 0 # 합계를 저장할 변수 # 모든 데이터를 하나씩 확인하며 합계를 계산 for x in array: summary += x # 결과 출력 print(summary) # 15 수행 시간은 데이터의 개수 N에 비례할 것임을 예측할 수 있다. 시간 복잡도 : O(N) a = 5 b = 7 print(a+b) # 상수 연산이므로 시간 복잡도는 O(1)로 표현할 수 있다. 2중 반복문 ..
2021.04.27