1. 알고리즘
알고리즘이란 어떤 문제를 해결하기 위해서 실행할 과정을 정의한 것이다 알고리즘 문제를 풀기 위해서는 해당 문제의 요구사항을 일단 알아야 하고 이 요구사항을 해결하기 위해 어떻게 해야할지로 문제를 풀기 시작한다 문제를 하나 예로 들어 보겠다
구구단 문제
구구단을 출력하기 위해서 먼저 각 문제를 분해해 보겠다 구구단을 출력하기 위해서는
- 구구단을 순회할 수 있는 반복문이 있어야한다
- 해당 단의 식에 도착하면 그것을 출력한다
이렇게 두가지로 문제를 분해 할 수 있다 이제 이걸 자연어 의사 코드로 작성해 보겠다
자연어 의사 코드
- i가 1부터 9까지 반복을 한다
- 그 반복문 내부에서 다시 j가 1부터 9까지 반복을 한다
- j가 반복하는 반복문 내부에서 구구단을 i와 j를 이용해서 출력한다
코드로 옮기기
1
2
3
4
5
6
7
8
9
10
function multiTable() {
let i, j;
for (i = 1; i <= 9; i++) {
for (j = 1; j <= 9; j++) {
console.log(i + '*' + j + '=' + i * j);
}
}
}
multiTable();
2. 디버깅
디버깅은 문제가 있는 프로그램에 문제를 찾는 과정을 이야기한다 이 디버깅을 하는 과정은 몇가지 과정이 있다
- 에러로그를 보고 어떤 문제인지 인식해야한다
- 어디서 문제가 발생했을지 가설을 세운다( 가설은 한번에 하나만 세운다 )
- 가설을 검증하고 실행한다
3. JavaScript(문자열)
문자열이란 여러개의 문자를 나열한 것을 의미한다 이런 문자열은 작은 따옴표 (‘) 나 큰 따옴표(“)를 이용하여 감싸진 상태로 사용한다 문자열 변수를 할당하는 방법은 아래와 같다
1
2
var name = 'leemintaek';
var name2 = 'mintaek';
문자열 연결
문자열은 (+) 연산자를 이용해서 문자를 연결할 수 있습니다 예를 들어
1
2
3
4
5
6
var name1 = 'lee';
var name2 = 'mintaek';
var name3 = name1 + name2;
name3;
//'leemintaek' 이 출력됩니다
숫자와 문자열
숫자와 문자열을 (+) 연산자를 이용하여 연결하면 숫자가 문자열로 바뀌고 문자열을 반환한다 예를 들어 보겠다
1
2
3
4
var name = 'leemintaek';
var age = 25;
var nameAge = name + age;
//'leemintaek25' 가 출력된다