[Baekjoon] 파이썬 혼자 공부

윤주원·2023년 7월 21일
0

baekjoon

목록 보기
4/13
post-thumbnail

round() 함수

a= 0.3 +0.6
  • 위 결과는 0.9 처럼 보인다
  • if문을 통해 확인해보자
a=0.3 + 0.6

if a==0.9:
    print(True)
else:
    print(aa)

  • 이러한 이유는 2진수에서 정확히 0.9를 표현할 방법이 없기 때문이다.
  • 하지만 손 놓을 순 없는법
  • 바로 round() 함수이다.

round(x,y)

  • x : 실수형 데이터가 들어간다

  • y : 반올림하고자 하는 위치이다.

  • 예시

aa=0.3 + 0.6

if round(aa,2)==0.9:
    print(True)
else:
    print(aa)
  • 결과

수 자료형의 연산

  • +,-,* 는 다른 언어와 거의 비슷하다고 할 수 있다.
  • 그러나 / 는 약간의 차이가 있다.
print(a//b)
  • 바로 위 코드처럼 표현한다.

  • 이것 이외에도 거듭제곱 표현이 있다.

  • 자바 같은 경우 함수를 사용해야하지만 파이썬에는 ** 이면 된다.

a=5
b=3
print(a**b)
  • 결과

배열 (리스트)

기본 개념

  • 많은 함수들을 지원한다.

  • 파이썬의 리스트는 C++의 STL vector와 유사

  • 리스트만들기

a= [1,2,3,4,5,6]
print(a)
# 당연히 0부터 시작
print(a[3])

# 빈리스트
a= list()
print(a)

  • 크기가 N인 1차원 리스트 초기화 시키기
n= 10
# 0으로 초기화
a=[0]*n
# 5로 초기화
c=[5]*n

print(a)
print(c)
  • 결과

리스트의 인덱싱과 슬라이싱

  • 특정 인덱스를 입력하여 리스트에 접근
a=[1,2,3,4,5,6,7,8]

print(a[-1])
print(a[-3])

print(a[-6])
  • 결과

  • -1 은 오른쪽부터 접근

  • 출력 범위 설정 가능
a=[1,2,3,4,5,6,7,8]

print(a[1:4])
print(a[1:])
print(a[4:-1])
print(a[:5])

  • a[인덱스 시작: 인덱스에서 1을 뺀 곳까지]

리스트 초기화 시키기(리스트 컴프리헨션)

  • 한줄로 초기화 시키는 법
a=[ i for i in range(20) if i%2==1]

print(a)
  • 결과

  • 리스트 컴프리헨션은 2차원에서 매우 효율적
  • 2차원 리스트
n=3
m=7

a=[[0]* n for _ in range(m)]
print(a)

-결과

_(언더바)란?

  • 반복을 수행하되 반복을 위한 변수의 값은 무시하고자 할 때 _(언더바)를 사용한다.

관련 함수들

  • append() : 말 그대로 삽입, 복잡도 : O(1)
  • sort() : 변수.sort() 오름차순 정렬
    변수.sort(reverse = True) 내림차순 정렬, 복잡도 O(nlogn)
  • reverse() : 변수.reverse() 순서 거꾸로 , 복잡도 O(N)
  • insert() : 변수.insert(삽입 위치 인덱스, 값), 복잡도 O(N)
  • count () : 복잡도 O(N)
  • remove () : 복잡도 O(N)
  • append와 insert 다 삽입이지만 복잡도의 차이가 있다.
  • 따라서 insert를 남발하면 시간 초과가 될 것
profile
안녕하세요

0개의 댓글