본문 바로가기
코플릿 기록/JavaScript

반복문13번 ★★

by 뭉지야 2022. 12. 21.
728x90

#문제

문자열을 입력받아 해당 문자열을 처음부터 한 글자(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;

}

 

728x90

'코플릿 기록 > 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