#문제
문자열을 입력받아 해당 문자열을 처음부터 한 글자(letter)씩 다시 작성하려고 합니다. 이때, 한 글자를 추가할때마다 부분적으로 완성된 문자열을 전부 이어붙인 문자열을 리턴해야 합니다.
#내가푼답
function makeMarginalString(str) {
// TODO: 여기에 코드를 작성합니다.
//이중반복문
let result = '';
for (let i= 0; i< str.length; i++) {
for (let a= 0; a<i+1; a++ ) {
result = result + str[a];
}
}
return result;
#반성
정말 너무 어렵다
역시 이해가 안될때는 예를들면서 계속 써보는게 좋은거 같다.
#풀이
a면 i가 0
ab면 i가 1
입력: 'flower' -> string타입의 문자열
출력: 한글자를 추가할때마다 부분적으로 완성된 문자열을 전부 이어붙여서 리턴
0: ''
1: 'f'
2: 'f' + 'fl'
3: 'f' + 'fl' + 'flo'
//첫번째반복문: 반복횟수를 결정 -> str.length만큼
//두번째반복문: 몇개의 문자를 더해줄건지
// i=0, j=0 -> 다통과 -> str[j] =f -> f
// i=0, j=1 -> j미통과 -> 내부반복문종료
//i=1, j=0 -> i통과 j통과 -> str[j]=str[0]=f -> ff
//1 ,1 ->i통과 j통과 -> str[j]=str[1]=l ->ffl
//1,2 -> i통과 j미통과
//5,5 -> i통과j통과 -> str[j]=str[5]=r ->~~~~~~~er
#정답
function makeMarginalString(str) {
let result = '';
for (let i=0; i < str.length; i++) {
for(let j=0; j <= i; j++) {
result = result + str[j]
}
}
return result;
}
'코플릿 기록 > JavaScript' 카테고리의 다른 글
객체 15번 ★★ (0) | 2022.12.30 |
---|---|
calculator 구현과제 (0) | 2022.12.27 |
반복문 12번★★ (0) | 2022.12.20 |
반복문 11번★★ (0) | 2022.12.20 |
반복문 10번★★ (0) | 2022.12.20 |