-
절차지향 프로그래밍함수형 프로그래밍 특징1. 코드의 재사용성이 - 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다.2. 코드의 관리가 - 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다.3. 신뢰성이 높은 프로그래밍을 가능하게 함.- 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오작동을 방지할 수 있다. '코드의 재사용성이 높고 유지보수가 용이하다.'--> 프로그램의 개발과 유지보수에 드는 시간과 비용을 획기적으로 개선하였다. 절차적 프로그래밍과 비교기존 절차적 프로그래밍에서는 함수를(메소드) 기계, 데이터를 원료로 생각해서 데이터가 함수 사이를 통과하면서 차츰 순서대로 가공돼 나가는 방식..
프로그래밍에서 사용하는 모든 이름은 '식별자(identifier)'라 한다.식별자는 같은 영역 내에서 서로 구분될 수 있어야 한다.식별자를 명명할 때는 다음 규칙을 따라야 한다. 1. 대소문자가 구분되며 길이에 제한이 없다.2. 예약어를 사용해서는 안 된다.3. 숫자로 시작해서는 안된다.4. 특수문자는 '_'와 '$'만을 허용한다.5. 패키지 이름 : 모두 소문자 (예, java.util, java.awt)6. 클래스 이름 : 첫자는 대문자, 나머지는 소문자. 두 단어 이상의 합성일 때는 단어의 첫자는 대문자. 약자일 경우 이니셜은 대문자 (예, StringBuffer, InputStream, URLDecoder)7. 메소드 이름 : 모두 소문자, 두 단어 이상의 합성일 때는 두번째 단어부터 첫자는 대문..
캔디캔디https://www.acmicpc.net/problem/2878 아.. 어렵다 처음에 생각한 풀이법은50 1011062534789이런 입력이 주어졌다고 할 때, list[]에 저장한 뒤 sort를 하고 이분탐색으로 left mid right 12345678910 50 -> 16 left mid right 0000123456 16 -> 1 left mid right 0000000123 위의 그림과 같이 왼쪽 범위의 숫자들을 0으로, 오른 쪽 범위의 숫자들은 list[mid]의 숫자만큼 빼주며 이분탐색을 진행하려 했으나숫자가 작을 때, 과연 어느 숫자를 줄여줘야 할지...이 경우에는 3을 1 줄이는 것이 최선이라는 것을 딱 알 수 있지만 다른 복잡한 경우는 어떻게 처리해야 할지 고민하다 결국 해결하..