Link
문제
ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는
미련을 버리지 못하고 왠지 모르게 올해에도 파주 World Finals 준비 캠프에 참여했다.
대회를 뜰 줄 모르는 지박령 kriii를 위해서 격려의 문구를 출력해주자.
두 줄에 걸쳐 "강한친구 대한육군"을 한 줄에 한 번씩 출력한다.
제출
// 1. 기본 (116ms)
console.log("강한친구 대한육군");
console.log("강한친구 대한육군");
// 2. for문 (108ms)
for (let i = 0; i < 2; i++) {
console.log("강한친구 대한육군");
}
// 3. do..while문 (108ms)
let i = 0;
do {
i += 1;
console.log("강한친구 대한육군");
} while (i < 2);
// 4. while문 (112ms)
let i = 0;
while (i < 2) {
i += 1;
console.log("강한친구 대한육군");
}
개념
반복문 (for, do...while, while)
- 반복문이란?
- 어떤 것을 반복적으로 시행하는 것
- for문
for(초기문; 조건문; 증감문)
문장
for (let i = 0; i < 2; i++) {
console.log("강한친구 대한육군");
}
- i의 초기값은 0이고 1씩 증가한다.
1번 loop) i=0, (0<2), output : 강한친구 대한육군
2번 loop) i=1, (1<2), output : 강한친구 대한육군
3번 loop) i=2, (2<2), 조건에 맞지 않으므로 실행 종료
- do...while문
do
문장
while (조건문);
let i = 0;
do {
i += 1;
console.log("강한친구 대한육군");
} while (i < 2);
- do 반복문은 조건문을 확인하기 전에 최소 한 번은 실행된다.
i=1, output: 강한친구 대한육군
1번 loop) i=2, output: 강한친구 대한육군, 조건문 비교 : (2<2) 실행 종료
- while문
while (조건문)
문장
let i = 0;
while (i < 2) {
i += 1;
console.log("강한친구 대한육군");
}
- while 반복문은 실행 전에 조건문을 먼저 확인하고, 조건이 참이면 문장을 계속해서 수행한다.
만약 조건이 거짓이 되면 반복문 안의 문장은 실행을 멈추고 반복문 바로 다음의 문장으로 넘어간다. - 1번 loop) (0<2), i+=1, output: 강한친구 대한육군
2번 loop) (1<2), i+=1, output: 강한친구 대한육군
3번 loop) (2<2), 실행 종료
Comment
아래에서부터 console.log 2번, for문, do...while문, while문으로 작성한 코드이다.
for문과 do...while문의 런타임 시간이 제일 짧았다.
코드의 길이가 길어져도 동일한지 궁금하네!!
++) 처음에 let keyword를 사용하지 않고 변수 i를 사용했는데 동작이 잘 되길래 전혀 눈치채지 못했다..
var, const, let keyword를 사용하지 않고도 변수를 선언할 수 있지만 키워드 없이 선언할 경우 global scope가 되므로 절대 절대 그럴 일은 없도록 하자.
+++)
- var : function scope
- 함수 안에서 var로 변수 a를 선언할 경우 a는 지역 변수가 되고,
함수 밖에서 변수 a를 선언할 경우 a는 전역 변수가 된다.
함수가 아닌 if, for, while, ... 안에서 변수 a를 선언하면 전역 변수가 되는 것!
- 함수 안에서 var로 변수 a를 선언할 경우 a는 지역 변수가 되고,
- const / let : block scope
- 코드 블록 안에서 const나 let으로 변수 a를 선언할 경우 a는 지역 변수가 된다.
- 따라서, 코드 블럭 안에 변수 a가 선언되었다면 코드 블럭 밖에서는 사용할 수 없다.
- X : global scope
- 키워드 없이 선언할 경우 어디에서든지 재할당, 중복 선언이 가능하다.
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 1001: A-B (javascript) (0) | 2022.02.04 |
---|---|
[백준] 1000: A+B (javascript) (0) | 2022.01.19 |
[백준] 10172: 개 (javascript) (0) | 2022.01.19 |
[백준] 10171: 고양이 (javascript) (0) | 2022.01.19 |
[백준] 2557: Hello World (javascript) (0) | 2022.01.18 |