[정보통신기술용어해설(개선중)]   

   (사용자 : )

(2019.1.19, 차재복, Cha Jae Bok, cjbword@gmail.com)

[코딩 구현 방법/사례 목록 정리중...] 

ㅁ 두 변수 값 교환
  ㅇ (x↔y : tmp=x;x=y;y=tmp; : tmp는 임시변수)
  ㅇ (방법 ① : 포인터 사용) [C] (문제) p23
  ㅇ (방법 ② : 자체 문법 지원) [PY] x, y = y, x
     - 사용자 의식 못하는 사이에 내부 임시변수 사용

ㅁ 문자열 처리 
  ㅇ (문자열 처리시 필요한 기능들 例)
     - (연결, 부분 문자열 탐색/검색/위치파악, 복사, 추출, 비교, 길이 카운트, 치환, 공백제거, 빈 문자열 검사, 변환,
        문자열 정렬, 문자열 데이터 압축 등)

  ㅇ 문자열 길이 카운트

  ㅇ 문자열 연결 : 2 이상의 문자열 변수들(A,B)을 연속 연결하여 다른 문자열 변수(C)에 대입
     - 例) Java,Javascript : C = A + B;
     - 例) PHP : C = A . B;
  
  ㅇ 특정 구분자로 문자열들을 연결
     - [JS] (모던JS입문) p264

  ㅇ 문자열 내 부분문자열 추출
     - [JS] (JS쿡북) p30~32

  ㅇ 배열 요소 문자열 공백 제거
     - (방법 : foreach 및 정규표현식)
     - [JS] (JS쿡북) p32

  ㅇ 빈 문자열 검사
     - [JS] (JS쿡북) p34

  ㅇ (※) [정규표현식]
     - (상상 가능한 모든 문자열 패턴들을 표현 가능) => (별도 페이지 준비중 ...) 

  ㅇ (※) [프로그래밍언어별 문자열 처리 참고]
     - C 문자열, PHP 문자열, 자바스크립트 문자열

ㅁ 날짜 계산
  ㅇ 윤년 여부
    - 방법 : 그레고리오력에서의 치윤법(置閏法)
      * (400으로 나누어 떨어지는 해) 이거나(OR),
      * (4로 나누어 떨어지는 해) 이지만(AND) (그 중 100으로는 나누어 떨어지지 않는 해)
    - [JS] (모던JS입문) p216

ㅁ 배열 처리
  ㅇ 배열 내 최대/최소 값 원소 찾기
    - (가장 큰 숫자를 기억해가며 진행함)
    - (방법 ① : 반복문 사용) [C] (문제) p20~p21
    - (방법 ② : 재귀 사용) [C] (문제) p22

  ㅇ 배열 내 두 원소 교환
    - (방법 : 배열 인덱스 사용) [C] (문제) p24

  ㅇ 배열 내 중복값 존재 여부
    - [JS] (누구나) p86~p87 : 계산효율성 O(n²)
    - [JS] (누구나) p88 (선형해결법) : 계산효율성 O(n)

ㅁ 기초 수치 계산 (기초 산술)
  ㅇ 1부터 100 또는 n까지 합
    - 방법 : ① 반복문 (for 또는 while) 사용, ② 급수공식 sum = n(n+1)/2 사용
    - (①) [C] () 필기노트
    - (①,②) [PY] () 컴퓨터공부등비급수 : [JS] (모던JS입문) p404 (?)

  ㅇ 구 체적 : [JS] (모던JS입문) p405 (?)

  ㅇ 피보나치 수열
    - [JS] (모던JS입문) p305

  ㅇ 팩토리얼 (n!)
    - (방법 ① : 반복문 구현 방식)
      * [JS] (모던JS입문) p222
      * [C] (문제) p42
    - (방법 ② : 재귀적 구현 방식)
      * [JS] (모던JS입문) p265
      * [C] (문제) p43

ㅁ 탐색/검색 알고리즘순차검색
    - [JS] (모던JS입문) p223
    - [루비] (누구나) p46
    - [C] (문제) p277

  ㅇ 이진검색
    - [루비] (누구나) p51
    - [C] (문제) p277

ㅁ 정렬 알고리즘버블 정렬
    - [PY] (누구나) p81

  ㅇ 선택 정렬
    - [JS] (누구나) p100

  ㅇ 퀵 정렬
    - [JS] (모던JS입문) p269
   
ㅁ 수치해석소수 판별
    - (방법 : ① n/2 이하 만, ② √n 이하 만 고려하면 됨)
    - [C] (문제) p323
    - [JS] (모던JS입문) p309

  ㅇ 선형 보간법
    - [ML] (알기쉬운) p109

ㅁ 기타
  ㅇ 하노이의 탑
    - [JS] (모던JS입문) p268

  ㅇ 메모이제이션
    - (방법 : 그때그때의 계산결과를 저장하고, 다음 계산에 이를 사용함)
    - [JS] (모던JS입문) p305
    - [JS] (모던JS입문) p309

※ [프로그래밍언어 범례]
  ㅇ [JS] : Javascript, [C] : C 언어, [루비] : Ruby 언어, [ML] : MATLAB, [PY] : 파이썬

※ [참고문헌 범례]
  ㅇ () :  URL 주소
  ㅇ (모던JS입문) : 모던 자바스크립트 입문 (이소 히로시 저,서재원 역,길벗,2018)
  ㅇ (JS쿡북) :  Javascript Cookbook (셸리 파워즈 저,김태곤 역,한빛미디어,2011)
  ㅇ (누구나) : 누구나 자료 구조와 알고리즘 (제이 웬그로우 저,심지현 역,길벗,2018)
  ㅇ (문제) : 문제로 풀어보는 알고리즘 (황인욱,김용혁 저,인사이트,2012)
  ㅇ (알기쉬운) : MATLAB을 이용한 알기쉬운 수치해석 (박태희 저,생능출판,2018)
Copyrightⓒ written by 차재복 (Cha Jae Bok)       [ 특정검색/코딩이란?/운용개선/재분류 테스트 ]