[코딩 테스트] - 파이썬 문법: 기본 입출력, 조건문, 반복문, 함수와 람다 표현식, 표준 라이브러리

Jeonghwan Kim·2022년 9월 30일
0

코딩 테스트

목록 보기
3/21

파이썬 문법: 기본 입출력

  • 자주 사용되는 표준 입력 방법

    • input(): 한 줄의 문자열을 입력 받는 함수
    • map(): 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용
      • 공백을 기준으로 구분된 데이터를 입력 받을 때는
        • list(map(int, input().split()))
      • 공백을 기준으로 구분된 데이터의 개수가 많지 않다면
        • a, b, c = map(int, input().split())
  • 사용자로부터 입력을 최대한 빠르게 받아야 할 경우 sys.stdin.readline() 이용

    • 단, 입력 후 엔터가 줄 바꿈 기호로 입력되므로 rstrip()로 오른쪽에 붙은 줄바꿈 제거 해줌
  • 자주 사용되는 표준 출력 방법

    • print()
      • 각 변수를 콤마(,)를 이용하여 띄어쓰기로 구분하여 출력
      • 기본적으로 출력 이후에 줄 바꿈을 수행
      • 줄바꿈을 원치 않으면 end=” ” 이용
    • f-string
      • 문자열 앞에 접두사 ‘f’를 붙여 사용

파이썬 문법: 조건문

  • 프로그램의 흐름을 제어하는 문법

  • 조건문을 이용해 조건에 따라서 프로그램의 로직 설정 가능

  • 코드의 블록을 들여쓰기로 지정

  • if~ elif ~ else의 형태

  • 비교연산자는 특정한 두 값을 비교할 때 이용

    • 대입연산자(=), 같음연산자(==)의 차이점에 유의
  • 논리연산자: 논리값(True/False) 사이의 연산을 수행할 때 사용

    • X and Y, X or Y, not X
  • 어딘가에 포함되어 있는지 확인하기 위해 in, not in 연산자 사용

    • 리스트, 튜플, 문자열, 딕셔너리 모두에서 사용 가능
    • x in 리스트 - 리스트 안에 x가 들어가 있을 때 True
  • 아무것도 처리하고 싶지 않을 때 pass 키워드 사용

    • 디버깅 과정에서 일단 조건문의 형태만 만들어 놓고 조건문을 처리하는 부분은 비워놓고 싶은 경우
  • 조건문에서 실행될 소스코드가 한 줄인 경우, 줄바꿈 하지 않고 간략히 표현 가능

    • if score >= 80: result = “Success”

      if score >= 80: result = “Success”
      else: result = "Fail"
  • 조건부 표현식(Conditional Expression)은 if~else문을 한 줄에 작성

    • if가 중간에 들어감

      	result = "Success" if score >= 80 else "Fail"
  • 조건문 안에서 수학의 부등식 그대로 사용 가능

    • x>0 and x<20 과 0<x<20 은 같은 결과 반환

파이썬 문법: 반복문

  • 끊임없이 반복되는 반복 구문인 무한 루프(Infinite Loop) 주의

    • 반복문을 작성한 뒤 항상 반복문을 탈출할 수 있는지 확인
  • for 문

    • 특정한 변수를 이용하여 ‘in’ 뒤에 오는 데이터(리스트, 튜플 등)에 포함되어 있는 원소를 첫번째 인덱스부터 차례대로 하나씩 방문
    • 연속적인 값을 차례대로 순회할 때는 range(시작값, 끝값+1) 사용
      • 인자를 하나만 넣으면 자동으로 시작값은 0이 됨
  • continue: 남은 코드의 실행을 건너뛰고, 다음 반복을 진행하고자 할 때 사용

  • break: 반복문을 즉시 탈출하고자 할 때 사용


파이썬 문법: 함수와 람다 표현식

  • 함수

    • 특정한 작업을 하나의 단위로 묶어놓은 것
    • 불필요한 소스코드의 반복을 줄여줌
  • 함수의 종류

    • 내장 함수: 파이썬이 기본적으로 제공하는 함수
    • 사용자 정의 함수: 개발자가 직접 정의하여 사용할 수 있는 함수
  • 함수 정의

    • 매개변수: 함수 내부에서 사용할 변수
    • 반환값: 함수에서 처리된 결과 반환
    • 매개변수와 반환값은 존재하지 않을 수 있음
    • 파라미터의 변수를 직접 지정할 수 있음, 매개변수의 순서가 달라도 상관x
  • global

    • global 키워드로 변수를 지정하면 해당 함수에서는 지역 변수를 만들지 않고, 함수 바깥에 선언된 변수를 바로 참조함
  • 람다 표현식

    • 특정한 기능을 수행하는 함수를 한 줄에 작성할 수 있음

    • 입력으로 받을 매개변수를 차례대로 명시해주고, 콜론(:)을 넣어서 함수의 반환값을 명시해주면 됨

      print((lambda a, b: a+b)(3,7))
    • 함수 자체를 입력으로 받는 또다른 함수를 사용할 때 사용

    • 함수가 매우 간단하거나 한번 쓰고 말 경우 사용

    • 여러 개의 리스트에 적용

      → [7, 9, 11, 13, 15]


파이썬 문법: 자주 사용되는 표준 라이브러리

  • 내장 함수: 기본 입출력함수 등 기본적인 함수
    • sum(), min(), max()

    • eval(): 문자열 형태로 주어진 수식을 계산한 결과를 반환해주는 함수

      result = eval("(3+5)*7")
      print(result)
    • sorted(): key속성으로 정렬 기준 명시 가능, 기본이 오름차순, 내림차순은 reverse=True

  • itertools: 반복되는 형태의 데이터를 처리하기 위한 유용한 기능들, 순열과 조합 라이브러리 등
    • 순열: 서로 다른 n개에서 서로 다른 r개를 선택하여 일렬로 나열하는것, permutations 이용
    • 조합: 서로 다른 n개에서 순서에 상관 없이 서로 다른 r개를 선택하는것, combinations 이용
    • 중복순열: product 이용
    • 중복조합: combinations_with_replacement 이용
  • heapq: 힙(heap) 자료구조 제공, 우선순위 큐 기능을 구현하기 위해 사용

  • bisect: 이진 탐색(Binary Search) 기능 제공

  • collections: 덱, 카운터 등 유용한 자료구조 포함

    • counter: 등장 횟수를 세는 기능 제공, 리스트와 같은 반복가능한(iterable) 객체가 주어졌을 때 내부의 원소가 몇 번씩 등장했는지 알려줌
  • math: 펙토리얼, 제곱근, 최대공약수, 삼각함수, 파이 등 필수적인 수학적 기능 제공

    • 최대공약수: gcd() 이용
    • 최소공배수: a*b // math.gcd(a,b)를 반환하게 함수 정의

참고: 이것이 취업을 위한 코딩 테스트다 with 파이썬 (취업과 이직을 결정하는 알고리즘 인터뷰 완벽 가이드), 유튜브 강의 영상

0개의 댓글