[파이썬] 내가 보려고 만든 파이썬 팁

2022. 1. 12. 13:15·Python/파이썬 함수

 

알고리즘을 풀기 위한 꿀팁 모음!!

 

 

1. 일렬로 배열 출력

print("".join(배열))
  • 배열을 문자열 형식으로 일렬로 출력

 

 

2. 문자열 확인

if '3' in str(i) + str(j) + str(k):
    count += 1
  • 위 코드는 i, j, k를 문자열화 시켜서 하나로 합친 뒤, 그 안에 '3'이 하나라도 있으면 count에 1을 더하는 것이다.

 

 

3. int형 입력 여러개 받기

data = list(map(int, input().split()))
  • 리스트 형식으로 받기
n, m = map(int, input().split())
  • 다른 변수에 각각 받기
n = int(input())
array = [0] * 10_000
for i in range(n):
    array[i] = int(input())
  • 백준에서 여러줄 입력받을 때 사용

 

 

4. 배열 정렬하기

arr.sort()
  • sort() 함수 사용, arr의 내용이 자동으로 정렬됨(오름차순)
arr.sort(reverse=True)
  • 거꾸로 정렬(내림차순)

 

 

5. 이진 탐색

from bisect import bisect_left, bisect_right

bisect_left(a, x)
  •  정렬된 순서를 유지하면서 배열 a에 x를 삽입할 가장 왼쪽의 인덱스를 반환
  •  C++ 에서 lower_bound()와 동일
bisect_right(a, x)
  • 정렬된 순서를 유지하면서 배열 a에 x를 삽입할 가장 오른쪽의 인덱스를 반환
  •  C++ 에서 upper_bound()와 동일

 

 

6. 2차원 배열 만들기

arr = [[0] * M for _ in range(N)]
  • 행이 M개, 열이 N개인 2차원 배열이 만들어짐(내용은 전부 0)
arr = [[] for _ in range(n)]
  • 내용이 없는 n개 행을 가진 2차원 배열
arr = []
for N in range(N):
    arr.append(list(map(int, input().split())))
  • 띄어쓰기 되어 있는 문자열을 2차원 배열로 입력 받을 때
arr = []
for N in range(N):
    arr.append(list(map(int, input())))
  • 띄어쓰기가 안 되어있는 입력을 받을 때 2차원 배열을 만드는 법
  • input() 뒤에 split()만 빼줘도 된다.
n, m = map(int, input().split())         # 행과 열
array = list(map(int, input().split()))  # 일렬로 입력
dp = []
index = 0
for i in range(n):
    dp.append(array[index:index+m])
    index += m
  • 2차원 배열을 일렬로 입력받을 때 2차원으로 만드는 방법
  • 슬라이싱을 이용한다.

 

 

 

7. 알파벳인지 숫자인지 확인하기

A = "1234"
B = "A23BD"
C = "ABD"
print(A.isalpha())       # False
print(A.isdigit())       # True
print(B.isalpha())       # False
print(B.isdigit())       # False
print(C.isalpha())       # True
print(C.isdigit())       # False
  • isalpha() 와 isdigit() 사용

 

 

8. 리스트.count()

num = list형자료.count(0)
  • 0의 개수를 리턴해준다.

 

 

9. 정규 자료형 확인

문자열.isalnum()
  • 문자, 숫자로 구성되어 있으면 true, 아니면 false

 

'Python/파이썬 함수' 카테고리의 다른 글
  • [파이썬] 내가 보려고 만든 문자열 함수 2
  • [파이썬] itertools 사용하는 법 - 경우의 수
  • [파이썬] 람다식 쓰는법
  • [파이썬] 내가 보려고 만든 문자열 함수
gakko
gakko
좌충우돌 개발기
  • gakko
    MYVELOP 마이벨롭
    gakko
  • 전체
    오늘
    어제
    • 분류 전체보기 (203)
      • Spring (23)
        • Spring (10)
        • Spring Boot (7)
        • Spring Security (1)
        • Hibernate (4)
      • Test (3)
      • 끄적끄적 (6)
      • 활동 (35)
        • 부스트캠프 (23)
        • 동아리 (3)
        • 컨퍼런스 (3)
        • 글또 (5)
        • 오픈소스 컨트리뷰션 (1)
      • 디자인패턴 (0)
      • Git & GitHub (22)
        • Git (13)
        • Github Actions (1)
        • 오류해결 (5)
        • 기타(마크다운 등) (3)
      • 리눅스 (6)
        • 기초 (6)
        • 리눅스 서버 구축하기 (0)
      • Infra (2)
        • Docker (1)
        • Elastic Search (0)
        • Jenkins (1)
        • AWS (1)
      • MySQL (7)
        • 기초 (6)
        • Real MySQL (1)
      • 후기 (3)
        • Udemy 리뷰 (3)
      • CS (26)
        • 웹 기본지식 (0)
        • 자료구조 (13)
        • 운영체제 OS (12)
        • 데이터베이스 (1)
        • 시스템 프로그래밍 (0)
        • 기타 (0)
      • Tools (1)
        • 이클립스 (1)
        • IntelliJ (0)
      • 프로젝트 (1)
        • 모여모여(부스트캠프) (1)
      • JAVA (32)
        • Maven (6)
        • 오류해결 (11)
        • 자바 클래스&메소드 (1)
        • JSP & Servlet (12)
      • Javascript (5)
        • 기초 (3)
        • React (2)
      • Python (28)
        • 파이썬 함수 (9)
        • 알고리즘 문제풀이 (16)
        • 데이터 사이언스 (2)
        • 웹 크롤링 (1)
      • 단순정보전달글 저장소 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 우진님
  • 공지사항

  • 인기 글

  • 태그

    웹개발
    부스트캠프 멤버십
    jsp
    java
    GitHub
    부스트캠프
    자바스크립트
    MySQL
    스프링
    알고리즘
    부스트캠프 7기
    오류해결
    Spring
    자바
    os
    운영체제
    Python
    파이썬
    Git
    스프링부트
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
gakko
[파이썬] 내가 보려고 만든 파이썬 팁
상단으로

티스토리툴바