본문 바로가기

Python/for코테

(13)
range와 slicing 문법의 차이 range와 slicing의 문법의 차이를 정리하려 합니다. 1. range range 함수는 range객체(immutable sequence of numbers)를 반환합니다. https://docs.python.org/3/library/stdtypes.html#range 1) range(stop) - start는 0으로, step은 1로 고정 2) range(start, stop[, step]) - step은 안주어지면 1로 설정됨 >>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(1, 11)) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> list(range(0, 30, 5)) [0, 5, 10, 15, 20, 2..
[이것이 코딩 테스트다 with Python] 13강 그리디 알고리즘 유형 문제 풀이 ※ 다음 강좌의 내용을 정리한 것입니다. www.youtube.com/watch?v=_TG0hVYJ6D8&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=13 - "1이 될 때까지" 문제 해결 아이디어: 주어진 N에 대하여 최대한 많이 나누기를 수행하기 (N의 값을 줄일 때 2이상의 수로 나누는 작업이 1을 빼는 작업보다 훨씬 수를 많이 줄이므로) - "1이 될 때까지" 정당성 분석: N이 아무리 큰 수여도, 2이상의 K로 계속 나눈다면 기하급수적으로 빠르게 줄일 수 있습니다. - Python에서는 정수 데이터를 처리할 때, 수의 범위의 제한이 없습니다. - "곱하기 혹은 더하기" 문제 해결 아이디어: 두 수 중에서 하나라도 1이하인 경우에는 더하며, 모두 2 이상인 경..
[이것이 코딩 테스트다 with Python] 12강 그리디 알고리즘 개요 ※ 다음 강좌의 내용을 정리한 것입니다. www.youtube.com/watch?v=5OYlS2QQMPA&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=12 - 그리디 알고리즘(탐욕법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미합니다. 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구합니다. - 그리디 해법은 그 정당성 분석이 중요하며, 단순히 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토합니다. - 일반적인 상황에서 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많습니다. 하지만, 코딩테스트에서의 대부분의 그리디 문제는 탐욕법으로 얻은 해가 최적의 해가 되는 상황에서, 이를 추론할..
[이것이 코딩 테스트다 with Python] 11강 파이썬 문법: 자주 사용되는 표준 라이브러리 ※ 다음 강좌의 내용을 정리한 것입니다. www.youtube.com/watch?v=W1SO2e5IaSo&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=11 - 코딩테스트에서 사용빈도가 높은 표준 라이브러리는 다음과 같습니다. - 내장함수는 별도로 import 할 필요 없이 사용 가능합니다. 자주 사용하는 내장 함수는 sum(), min(), max(), eval() 등이 있습니다. eval은 수식으로 표현된 문자열을 계산해줍니다. 또한, sorted()로 정렬이 가능하며, reverse=True면 내림차순으로 정렬되고, key속성을 사용해서 정렬 기준을 설정할 수 도 있습니다. ex) result = sorted([9,1,8,5,4], reverse = True) a..
[이것이 코딩 테스트다 with Python] 10강 파이썬 문법: 함수와 람다 표현식 ※ 다음 강좌의 내용을 정리한 것입니다. www.youtube.com/watch?v=M_wLOmNRBN8&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=10 - 함수(Function)란 특정한 작업을 하나의 단위로 묶어 놓은 것을 의미하며, 함수를 사용하면 불필요한 소스코드의 반복을 줄일 수 있습니다. - 내장 함수는 파이썬이 기본적으로 제공하는 함수(input, print 등)이며, 사용자 정의 함수는 개발자가 직접 정의하여 사용하는 함수입니다. - 매개변수(Parameter)란 함수 내부에서 사용할 변수(함수에 전달되는 값은 전달인자(Argument))이고, 반환 값은 함수에서 처리된 결과의 반환입니다. 매개변수와 반환 값은 존재하지 않을 수도 있습니다. - 파이썬..
[이것이 코딩 테스트다 with Python] 9강 파이썬 문법: 반복문 ※ 다음 강좌의 내용을 정리한 것입니다. www.youtube.com/watch?v=x7dIUaefI0A&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=9 - 파이썬에서는 while문과 for문이 있고, 어떤 것을 사용해도 상관 없습니다. 다만, 코딩테스트에서의 실제 사용 예시를 보면, for문이 더 간결한 경우가 많습니다. - 무한 루프란 끊임없이 반복되는 반복 구문이며, 코딩 테스트에서 무한 루프를 구현할 일은 거의 없으니 유의해야 합니다. 무한 반복문을 작성한 뒤에는 항상 반복문을 탈출할 수 있는지 확인합니다. - for문은 특정한 변수를 이용하여 'in'뒤에 오는 데이터(리스트, 튜플, 문자열, 집합, 딕셔너리(key) 등)에 포함되어 있는 원소를 첫 번째 인덱..
[이것이 코딩 테스트다 with Python] 8강 파이썬 문법: 조건문 ※ 다음 강좌의 내용을 정리한 것입니다. www.youtube.com/watch?v=PCJOT5LHzxE&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=8 - 파이썬에서는 코드의 블록(Block)을 들여쓰기(Indent)로 지정합니다. - 들여쓰기에 탭을 사용하는 쪽과 공백 문자(space)를 여러 번 사용하는 쪽으로 두 진영이 있습니다. 파이썬 스타일 가이드라인에서는 4개의 공백 문자를 사용하는 것을 표준으로 설정하고 있습니다. - 조건문을 사용할 때 elif 혹은 else 부분은 경우에 따라서 사용하지 않아도 됩니다. - 비교 연산자는 특정한 두 값을 비교할 때 이용할 수 있습니다. 대입 연산자(=)와 같음 연산자(==)의 차이점에 유의하세요. - 논리 연산자(an..
[이것이 코딩 테스트다 with Python] 7강 파이썬 문법: 기본 입출력 ※ 다음 강좌의 내용을 정리한 것입니다. www.youtube.com/watch?v=EmVu4na4fRY&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=7 - input( ) 함수는 한 줄의 문자열을 입력 받는 함수입니다. map( ) 함수는 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용합니다. ex 공백으로 구분된 정수 입력받기) list(map(int, input( ).split( ))) 또는 a, b, c = map(int, input( ).split( )) - 사용자로부터 입력을 최대한 빠르게 받아야 하는 경우, sys 라이브러리에 정의되어 있는 sys.stdin.readline() 메서드를 이용합니다. 단, 개행문자를 없애기 위해 rstrip() 메..