반복문(For)
일정 로직을 계속 반복해서 실행하는 문법
for(최초식; 조건식; 증감식){ 반복할 내용; }
- 최초식 : 반복문을 처음 실행할 때 선언, 어디서부터 시작하는지를 결정하는 시작점
- 조건식 : 반복문을 실행하는 조건을 설정, 해당 조건식이 true일 때만 로직을 실행
- 증감식 : 반복문을 실행할 때마다 최초식을 증감, 반복문의 실행 횟수를 조절한다
for(let i = 0; i < 2; i++){ console.log("안녕하세요?"); } // 안녕하세요? // 안녕하세요?
for문법에서는 break
와 continue
기능을 사용할 수 있다.
for (let i = 0; i < 5; i++){
if(i === 3) break;
console.log(i);
}
//0 1 2
for (let i = 0; i < 5; i++){
if(i === 3) continue;
console.log(i);
}
//0 1 2 4
const obj = {
name : "훈이",
age : 12
}
for(let data in obj){
console.log(data, obj[data])
}
//'name' '훈이'
//'age' 12
const str = "abcde"
for(let index in str){
console.log(index)
//0 1 2 3 4
console.log(str[index])
//a b c d e
}
const str = "abcde"
for (let letter of str){
console.log(letter)
}
//a b c d e
let able = false
arr.forEach((el, i)=>{
if(!able){
if(i ===2){
able = true
}
console.log(el, i)
}
})
//'a' 0
//'b' 1
//'c' 2
let answer = 0;
let current = 1;
while(current !== 100){
current++; // 1, 2, 3, ...
answer++; // 0, 1, 2, ...
}
answer; //99
1) 숫자 더하기
문제 설명
입력되는 수에 따라 0부터 해당 수까지의 합을 구하려고 합니다.
num은 1이상의 자연수가 들어옵니다.
만약 num이 5라면 1 + 2 + 3 + 4 + 5를 모두 더한 값을 출력시켜주세요.
입력 인자
주의 사항
예상 결과
sum(5) // 15
sum(3) // 6
문제 풀이
// 023 숫자 더하기
function sum(num) {
let count = 0;
for (let i = 1; i <= num; i++) {
count += i;
}
return count;
}
2) 특정 문자열 세기
문제 설명
문자열에서 "a"가 몇 번 등장하는지 횟수를 구하는 함수를 만들려고 합니다.
반복문을 이용해 "a"의 등장 횟수를 변수 "count"에 할당하세요.
입력 인자
주의 사항
예상 결과
countLetter("I am from Korea") // 2
countLetter("A day without laughter is a day wasted.") // 6
문제 풀이
// 024 특정 문자열 세기
function countLetter(str) {
let count = 0;
// 대문자>소문자로 변경해주기
// str = str.toLowerCase();
for (let i = 0; i < str.length; i++) {
if (str[i] === "a" || str[i] === "A") {
count += 1;
}
}
return count;
}
3) 문자열삽입
문제 설명
num을 입력받아 1부터 num의 값까지 각각의 숫자 사이에 "-"이 들어간 문자열을 만들어야 합니다.
num이 3일 경우에는 "1-2-3"입니다.
입력 인자
주의 사항
예상 결과
makeNumber(5) // 1-2-3-4-5
makeNumber(7) // 1-2-3-4-5-6-7
문제 풀이
// 025 문자열 삽입
function makeNumber(num) {
let str = "";
for (let i = 1; i <= num; i++) {
if (i < num) {
str = str + i + "-";
} else if (i === num) {
str = str + i;
}
}
}
4) 가장 큰 수 찾기
문제 설명
str은 무작위 숫자인 문자열입니다. 해당 문자열에서 가장 큰 수를 구하는 함수를 만들어야 합니다.
만약 str에 "12345"가 들어온다면 "5"를 나타내야 합니다.
입력 인자
주의 사항
예상 결과
bigNum("12345") // 5
bigNum("87135") // 8
문제 풀이
// 027 가장 큰 수 찾기
function bigNum(str) {
let biggest = 1;
for (let i = 0; i < str.length; i++) {
if (biggest < Number(str[i])) {
biggest = Number(str[i]);
}
}
}
//더 간단하게 푸는법
function bigNum(str){
// console.log(Math.max(str))
// 87135
str = str.split('');
console.log(str);
//[ '8', '7', '1', '3', '5' ]
console.log(Math.max(...str))
//8
console.log(Math.min(...str))
//1
}
bigNum('87135');
Math.max(11,2,8,5,7,16)
//16