minuco
Published 2021. 3. 1. 16:14
파이썬 - 자료형 Algorithms/with python

파이썬 자료형은 c/c++, java와 같은 다른 언어에서 사용되는 기본 자료형을 제공할 뿐만 아니라 사전, 집합 자료형 등 강력한 기능을 제공하는 자료형을 기본으로 내장하고 있습니다.

0.1. 수 자료형

Number은 코딩 테스트에서 가장 기본적인 자료형이다. 정수형, 실수형 등이 있다.

0.1.1. 정수형

정수형이란 말 그대로 정수를 뜻하는 자료형이며, 양의 정수, 음의 정수, 0 이 있다. 알고리즘 문제는 대부분 입력과 출력 값이 정수형이다.

<python />
a = 100 # 양의 정수 print(a) b = -100 # 음의 정수 print(b) # 0 a = 0 print(a)

출력 : 100, -100, 0

0.1.2. 실수형

실수형은 소수점 아래의 데이터를 포함하는 수 자료형으로 파이썬에서는 변수에 소수점을 붙인 수를 대입하면 실수형 변수로 처리한다.

<python />
# 양의 실수 a = 157.93 print(a) # 음의 실수 a = -100.78 print(a) # 소수부가 0일떼 0을 생략 a = 8. print(a) # 정수부가 0일때 0을 생략 a = -.9 print(a)

출력 : 157.93, -100.78, 8.0, -0.9

 

실수형 데이터를 표현하는 방식으로 파이썬에서는 e나 E를 이용한 지수 표현방식을 이용할 수 있다. e 다음에 오는 수는 10의 지수부를 의미한다. ex) 1e9 -> 10의 9 제곱인 (1,000,000,000)이 된다.

<python />
# 10억의 지수 표현 방식 a = 1e9 print(a) # 752.5 a = -75.25e1 print(a) # 3.954 a = 3594e-3 print(a)

컴퓨터는 실수를 정확하게 표현하지 못한다. 왜냐하면 보통 컴퓨터 시스템은 데이터를 처리할 때 2진수를 이용하며, 실수를 처리할 때 부동 소수점 방식을 이용하기 때문이다.

<python />
a = 0.3 + 0.6 print(a) if a == 0.9: print(True) else: print(False)

출력 : 0.8999999999999999, False

 

따라서 소수점 값을 비교하려면 round() 함수를 이용해야 한다.

round() 함수의 호출 인자는 두 개가 들어가는데 첫 번째 인자는 실수형 데이트이고, 두 번째 (반올림하고자 하는 위치 -1 )이다.

ex) 123.456 -> round(123.456, 2)라고 작성하면 123.46이 된다.

<python />
a = 0.3 + 0.6 print(round(a, 4)) if round(a, 4) == 0.9: print(True) else: print(False)

출력 : 0.9, True

 

코딩 테스트 문제에서는 실수형 데이터를 비교할 때 소수점 다섯 번째 자리에서 반올림한 결과가 같으면 정답으로 인정하는 식으로 처리한다. 그래서 반올림하고자 하는 위치는 5번째라서 -1을 해주어 두 번째 인자에 4를 적어주었다.

0.1.3. 수 자료형의 연산

프로그래밍의 사칙연산 (+,-,x,/)을 이용해 계산한다. 이중 나누기 연산자 (/)를 주의 헤서 사용하자. 왜? 파이썬에선 나누기 연산자(/)를 실수형으로 처리하기 때문이다.

 

코딩 테스트 문제를 풀 때 나머지 연산자를(%)할 때가 많은데, 특정 변수가 홀수인지 짝수인지 구별하기 위해서이다. 또한, 나눈 결과의 몫만을 얻고자 할 때에는 몫 연산자(//)를 이용한다.

<python />
a = 7 b = 3 # 나누기 print(a / b) # 나머지 print(a % b) # 몫 print(a // b)

 출력 : 2.3333333333333335, 1, 2

 

이 외에도 거듭제곱 연산자 (**)를 비롯해 다양한 연산자들이 존재한다.

<python />
a = 5 b = 3 print(a ** b)

출력 : 125

 

a의 b승 즉, 5의 3승인 125이다.

1. 이것이 코딩 테스트다 소스코드

https://github.com/ndb796/python-for-coding-test


파이썬 자료형에 대해 공부해 보았습니다.

알고리즘에 필요한 파이썬을 공부하고 알고리즘 문제를 풀며 실력을 키워나가 봅시다!

 

 

 

 

참고 : 이것이 취업을위한 코딩 테스트다 with 파이썬

profile

minuco

@minuco

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!