아이디어지니
아이디어지니 : 개발이야기
아이디어지니
전체 방문자
오늘
어제
  • 분류 전체보기 (26)
    • 안드로이드 (11)
    • 50자다이어리 (2)
    • 코딩테스트 (13)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • deprecated
  • onStartCommand
  • 내일배움카드
  • andorid
  • 나도 할 수 있는 Java&Spring 웹 개발 종합반
  • TextView
  • null
  • 안드로이드 서비스
  • jcenter
  • 패스트캠퍼스
  • setrecursionlimit
  • K디지털기초역량훈련
  • App Restart
  • 코딩테스트
  • 단어정렬
  • null check
  • cmp_to_key
  • Interpolator
  • 1181
  • greenDAO
  • 바인딩 서비스
  • 백준
  • functools
  • 앱재시작
  • 안드로이드
  • 커스텀정렬
  • 파이썬
  • 에라토스테네스의 체
  • TextUtils
  • 안드로이드 애니메이션

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
아이디어지니

아이디어지니 : 개발이야기

코딩테스트

이코테 2강 리뷰 (수 자료형과 연산)

2022. 5. 10. 22:19

* 모든 프로그래밍은 데이터를 다루는 행위이며 자료형에 대한 이해는 프로그래밍의 길에 있어서 첫걸음 임

 

파이썬의 자료형

- 정수형(Integer)

- 실수형(Real Number)

- 복소수형

- 문자열

- 리스트

- 튜플

- 사전(딕셔너리)

 


  •  정수형(Integer) - 양, 음, 0
a = 1000
# 1000이라는 상수 값을 a라는 변수에 대입 

파이썬에서는 큰 수 -9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807 의 범위도 C나 JAVA처럼 long type로 처리 하지 않고 int type으로 처리한다.

  • 실수형(Real Number) - 소수점 아래 데이터를 포함하는 수 자료형
a = 157.93
a = -1837.2
a = 5.
# 소수부가 0일 때 0 생략 5.0

a = -.7
# 정수부가 0일 때 0 생략 결과 : -0.7
  • 지수 표현방식 - e나 E를 이용해 지수를 표현할 수 있으며 임의의 큰 수를 표현하기 위해 자주 사용됨
1e9 = 10의 9제곱 (1,000,000,000)
유효숫자e^지수 = 유효숫자 * 10^지수

최단 경로와 같이 다양한 그래프 알고리즘에서는 도달할 수 없는 노드에 최단 거리를 임의의 큰 값으로 무한(INF)을 설정할 수 있음
이때, 최대값이 10억 미만이라면 무한(INF)값으로 1e9를 이용할 수 있다.

지수값은 기본적으로 실수형 데이터이며 실수 연산 오차로 인해 발생할 수 있는 오류를 일정부분 예방 가능하기 때문에 int()로 정수 값으로 변경 해주는 것이 좋음.
a = 1e9 # 1000000000.0
a = int(1e9) # 1000000000
a = 75.25e1 # 752.5
a = 3954e-3 # 3.954

- 일반적으로 사용중인 IEEE754 표준에서는 실수형을 저장하기 위해 4바이트 혹 8바이트의 고정된 크기의 메모리를 할당하므로 컴퓨터 시스템은 실수 정보를 표현하는 정확도에 한계가 있음

- 10진수 체계에서는 0.9를 정확하게 표현 가능하나 2진수에서는 0.9를 정확하게 표현할 수 있는 방법이 없음

a = 0.3 + 0.6 
print(a) # 오차발생(0.8999999999999)

if a == 0.9:
   print(True)
else :
   print(False) # 결과 False

- 해결 방법으로 round() 함수를 이용할 수 있으며 이 방법이 권장된다. (소수 아래 몇자리 까지 결과를 보장할 수 있다 명시함)

a = 0.3+0.6
print(round(a, 4)) # 0.9

수 자료형의 연산

- 사칙연산과 나머지 연산자가 많이 사용됨.

- 나누기(/) 연산자는 나눠진 결과를 실수형으로 반환하니 주의 해야함(py2는 정수로 반환)

- 나머지 연산자(%) : 변수 a가 홀수 인지 체크할 때 

- 몫 연산자(//)

- divmod() 함수를 이용하면 튜플형태로 몫과 나머지를 반환한다.

- 거듭제곱(**) 등 많은 연산자를 제공한다.

# 주요 연산 
# 덧셈
a += 5 
a = a + 5

# 뺄셈
a -= 5
a = a - 5

# 곱셈
a *= 5
a = a * 5

# 나눗셈
a /= 5
a = a / 5

# 몫
a //= 5
a = a // 5

# 나머지
a %= 5
a = a % 5

# 몫 과 나머지를 튜플형태로 반환
divmod(a, 5)

본 글은 나동빈 - 이코테 2021 강의 몰아보기를 토대로 작성한 정리입니다.

좋은 강의를 올려주신 나동빈님께 감사드립니다. 

 

'코딩테스트' 카테고리의 다른 글

이코테 5강 리뷰 (사전, 집합 자료형)  (0) 2022.05.13
이코테 4강 리뷰 (문자열, 튜플 자료형)  (0) 2022.05.13
이코테 3강 리뷰 (리스트 자료형)  (0) 2022.05.12
이코테 1강 리뷰 (알고리즘 성능 평가)  (0) 2022.05.10
    '코딩테스트' 카테고리의 다른 글
    • 이코테 5강 리뷰 (사전, 집합 자료형)
    • 이코테 4강 리뷰 (문자열, 튜플 자료형)
    • 이코테 3강 리뷰 (리스트 자료형)
    • 이코테 1강 리뷰 (알고리즘 성능 평가)
    아이디어지니
    아이디어지니
    할까 말까 할 때는 하라

    티스토리툴바