coding(31)
-
Python 54 - 숫자 카드 게임( 알고리즘 )
숫자 카드 게임은 여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임이다. 단, 게임의 룰을 지키며 카드를 뽑아야 하고 룰은 다음과 같다. 숫자가 쓰인 카드들이 N x M 형태로 놓여 있다. 이떄 N은 행의 개수를 의미하며, M은 열의 개수를 의미한다. 먼저 뽑고자하는 카드가 포함되어 있는 행을 선택한다. 그 다음 선택된 행에 포함된 카드들 중 가장 숫자가 낮은 카드를 뽑아야 한다. 따라서 처음에 카드를 골라낼 행을 선택할 때, 이후에 해당 행에서 가장 숫자가 낮은 카드를 뽑을 것을 고려하여 최종적으로 가장 높은 숫자의 카드를 뽑을 수 있도록 전략을 세워야 한다. 예를 들어 3 x 3 형태로 카드들이 다음과 같이 놓여 있다고 가정하자. 여기서 카드를 골라낼 행을 고를 때 첫 번째..
2021.06.15 -
Python 53 - 큰 수의 법칙( 알고리즘 )
'큰 수의 법칙' 은 일반적으로 통계 분야에서 다루어지는 내용이지만 글쓴이는 본인만의 방식으로 다르게 사용하고 있다. 글쓴이의 큰 수의 법칙은 다양한 수로 이루어진 배열이 있을 때 주어진 수들을 M번 더하여 가장 큰 수를 만드는 법칙이다. 단, 배열의 특정한 인덱스(번호)에 해당하는 수가 연속해서 K번을 초과하여 더해질 수 없는 것이 이 법칙의 특징이다. 예를 들어 순서대로 2, 4, 5, 4, 6 으로 이루어진 배열이 있을 때 M이 8이고, K가 3이라고 가정하자. 이 경우 특정한 인덱스의 수가 연속해서 세번까지만 더해질 수 있으므로 큰 수의 법칙에 따른 결과는 6 + 6 + 6 + 5 + 6 + 6 + 6 + 5 인 46이 된다. 단, 서로 다른 인덱스에 해당하는 수가 같은 경우에도 서로 다른 것으로..
2021.06.14 -
Python 38 - 파이썬 용어 정리 (2)
매개변수 (parameter) 함수를 호출할 때 필요한 데이터를 외부로부터 받기 위해 사용하는 것. • 가변 매개변수: 매개변수를 원하는 만큼 받을 수 있는 함수. • 기본 매개변수: 매개변수를 입력하지 않았을 경우 미리 설정한 값이 들어가 는 매개변수. 메모화 (memoize) 재귀 호출에서 한 번 연산한 값을 중복해서 연산하지 않기 위해 새로운 값을 연산할 때마다 그 결과에 따른 값을 저장하는 것. (저장된 값은 중복 호출될 때마다 가져와서 사용하게 된다!) 메소드 (method) 클래스가 가지고 있는 함수. (= 멤버 함수, 인스턴스 함수) 모듈 (module) 코드를 분리하고 공유할 수 있도록 만들어 주는 문법. • 표준 모듈: 파이썬에 기본적으로 내장되어 있는 모듈. • 외부 모듈: 다른 사람이..
2021.05.30 -
Python 37 - 파이썬 용어 정리 (1)
가비지 컬렉터 (garbage collector) 더 이상 사용할 가능성이 없는 데이터를 메모리에서 제거하는 프로그램. 개발 환경 (development environment) 컴퓨터, 텍스트 에디터, 파이썬 인터프리터 등과 같이 프로그래밍을 할 수 있는 환경. 텍스트 에디터를 포함해서 컴파일러 버전과 같은 개발 플랫폼을 말한다. 웹 프로그래밍에선 웹 브라우저도 개발 환경이 된다. 개발 환경이 달라지면 프로그램의 작동 결과가 다를 수 있다. 객체 지향 프로그래밍 (OOP: Object Oriented Programming) 프로그램을 개발하는 기법으로 부품에 해당하는 객체들을 먼저 만들고, 이것들을 하나씩 조립 및 연결해서 전체 프로그램을 완성하는 기법. *객체 지향 프로그래밍의 특징 : 상속, 다형성,..
2021.05.29 -
Python 36 - 객체 지향 언어, 객체 지향 프로그래밍 언어
객체 지향 의 사전적 의미 IT관련 객체 지향 프로그래밍에서 사용하는 언어로서, 객체를 만들고 조작하며 객체끼리 관계를 맺음으로써 다수의 객체가 함께 수행될 수 있게 한다. 객체[Object] 객체(Object)란? 세상에 존재하는 모든것을 의미합니다. 즉, 주변에 있는 사물이나 생명체 같은 모든것들을 말합니다. 프로그래밍에서의 객체는 데이터의 분산을 막기 위해 데이터와 기능을 하나로 묶은 그룹이라고 볼 수있습니다. 컴퓨터(PC)로 예를 들어보겠습니다. 컴퓨터(PC) = 데이터(본체, 모니터, 키보드, 마우스, 스피커.......등등) + 기능(화면제공, 소리, 입력, 출력.......등등) 위의 공식에 객체를 적용하면 이해하기가 쉬울거라 생각합니다. 객체[주변에 있는 모든 사물이나 생명체 등] 객체지향..
2021.05.28 -
Python 35 - (복습) 내장함수, 외장함수
내장함수 : 그냥 쓸 수 있는 함수 ex) print() type() abs→절대값 all→모두 참인지 검사 any→하나라도 참이 있는가, chr→아스키코드를 입력받아 문자 출력 dir→자체적으로 가지고 있는 변수나 함수를 보여준다.(리스트에서 어떤걸 쓸 수 있는지 모두 나열해준다. add class 등등 divmod→몫과 나머지를 튜플 형태로 돌려준다. enumerate→열거하다 eval→실행 후 결과값을 돌려줌 filter→함수를 통과하여 참인 것만 돌려줌 id→주소값 알아보기 input→사용자 입력 받는 함수 int—>십진수로 변경 len→길이 list→리스트로 변환 map→각 요소가 수행한 결과를 돌려줌 max min → 최대값, 최솟값 open→r,w,a pow→제곱 round→반올림 sorte..
2021.05.27