#3 1,000,000,007로 나누기
[백준 저지 11401번] 자연수 N과 정수 K가 주어졌을 때, 이항 계수를 구하고 그 수를 1,000,000,007 로 나눈 나머지를 구하시오 왜 알고리즘 문제에서는 1,000,000,007(1e9+7)로 나눈 나머지를 구하라고 할까요? 아무생각없이 ctrl c + v 하고 문제 풀은 사람 있나요?! 저요!!!!! 모듈러 연산(Modulo operation) 어떤 한 숫자를 다른 숫자로 나눈 나머지를 구하는 연산으로, 나머지 연산(mod)이라고 한다. Why 나눠야 할까? python에서 쓰는 int 정수형의 경우 4바이트(32비트)로 -2^31에서 2^31-1까지 표현이 가능하다. (-2,147,483,648 ~ 2,147,483,647) 이는 2e9로 근사할 수 있다. 하지만 이보다 훨씬 큰 값의 ..
더보기
#2 객체/클래스/인스턴스
코딩공부를 하다보면 야생의 객체(Object)를 만나게된다... "객체"(이)는 "알수없음" 스킬을 사용했다. ??? : 효과는 굉장했다! 클래스 설계도와 같다. 모든 피카츄가 기본적으로 갖는 속성과 스킬에 대해 정의한다. 이름, HP, 성별, 몸무게, 타입, 키 등과 같은 성질(=필드, 변수)과 스킬, 감정표현 등 할 수 있는 행동(=메서드, 함수)로 구성된다. 인스턴스 설계도(클래스)를 바탕으로 구현된 실체이다. 야생에서 만나는 피카츄들마다 몸무게, 키, 성별, 스킬이 다르듯이, 클래스에서 정의된 대로 각각 구별이 되는 인스턴스를 만들어내는 것이다. 최고의 포켓몬을 얻기위해 몇천마리를 잡고 다니는 이유 객체 객체와 인스턴스는 객체지향 프로그래밍에서는 유사한 개념이다. 클래스 타입으로 선언한 것을 객체..
더보기