이코테 강의 정리

이것이 취업을 위한 코딩 테스트다 w/Python (a.k.a 이코테) 알고리즘 강의 (수 자료형)

김디니 2022. 6. 13. 22:06

알고리즘 기초 강의를 찾던 중 유튜버 나동빈님의 이코테 알고리즘 강의를 발견했다. 

말로만 듣던 알고리즘을 독학하자니 아주 눈 앞이 캄캄했다,, 

나동빈님의 강의는 기초적인 문법, 구문 하나하나 제대로 설명해주셨기에 믿고 들어보았다! 

이런 고퀄의 강의를 무료로 듣게 해주셔서 정말 정말 감사드립니다,,,,,,,,


수 자료형

모든 프로그래밍은 데이터를 다루는 행위이다. 

파이썬의 자료형은 정수형, 실수형, 복소수형, 문자열, 리스트, 튜플, 사전 등이 있다.

C++의 vector library, 자바의 arraylist library가 제공하는 기본적인 기능이 파이썬에 이미 내재되어 있다.

(Python으로 알고리즘(코테)를 준비하기 딱 좋다)

 

  • 정수형

정수를 다루는 자료형이다. (양의 정수, 음의 정수, 0)

 

이렇게 대입 연산자를 이용한다. 

a라는 이름의 변수의 1000이라는 상수 값을 넣겠다는 의미이다. 

그리하여 변수 a를 출력하면 1000 값이 출력된다. 

 

  • 실수형

소수점 아래의 데이터를 포함하는 수 자료형이다. 

5.으로 5.0을 표현할 수 있다. (-.7 또한 -0.7과 같다)

  • 지수 표현 방식

e나 E를 이용한 지수 표현 방식을 이용할 수 있다. 

e나 E의 다음에 오는 수는 10의 지수부를 의미한다. 

 

예를 들어, 1e9는 10의 9제곱이 된다. 

유효숫자e^지수 = 유효숫자 X 10^지수 

이는 임의의 큰 수를 표현하기 위해 자주 사용된다. 

최단 경로 알고리즘에서 도달할 수 없는 노드에 대해 최단거리를 무한(INF)로 설정하곤 한다. 

이때 가능한 최댓값이 10억 미만이라면 무한의 값으로 1e9를 이용할 수 있다.

음의 정수도 정상적으로 처리되는 것을 확인할 수 있다. 

 

IEEE754 표준에서는 실수형을 저장하기 위해 4바이트 혹은 8바이트의 고정된 크기의 메모리를 할당하므로 컴퓨터 시스템은 실수 정보를 표현하는 정확도에 한계를 지닌다. 

예를 들어, 10진수 체계에서는 0.3 + 0.6 = 0.9로 정확히 떨어진다.

하지만 2진수에서 0.9를 정확히 표현할 수 없다. 

0.9와 최대한 가깝게 표현하지만 미세한 오차가 발생할 수 밖에 없다. 

정확한 0.9의 값을 출력할 수 없다

이러한 표현상의 한계를 극복하기 위해서 round() 함수를 이용한다. 

예를 들어 123.456을 소수 셋째 자리에서 반올림하려면 round(123.456, 2)라고 작성한다. 결과는 123.46이 된다. 

round() 함수를 사용해서 정확한 값 출력

 

 

  • 수 자료형 연산

사칙연산과 나머지 연산자가 많이 사용된다.

단, 나누기 연산자(/)를 주의해서 사용해야 한다. 파이썬에서 나누기 연산자는 나눠진 결과를 실수형으로 반환하기 때문이다.

 

다양한 로직을 설계할 때에는 나머지 연산자(%)를 이용할 때가 많을 것이다. (나머지 값)

예를 들어, a가 홀수인지 체크할 때 사용된다. 

 

몫을 얻기 위한 몫 연산자인 //도 사용한다. 이외에 거듭 제곱 연산자(**) 등 다양한 연산자가 있다. 

 

이처럼, 별도로 수학 라이브러리를 사용하지 않아도 내재되어 있는 기본 연산자들을 사용하기 좋다. 

 

나누기 연산자 실행 시 값이 실수형으로 나오는 것을 확인할 수 있다.