function solution(n) {
var answer = '';
return answer;
}
function solution(n) {
var answer = '';
// 여기에 왜 = ''; 인지 정확한 이유 아직 인지 x
for(let i = 1; i<=n; i++){ //n은 자연수기 때문에 n.length 미필요
if(i%2 == 0){ // i를 돌리고 있으므로 i%2를 해야함.
answer+= '박'
}else{
answer+= '수'
} // 왜 이 값이 '수','박' 이런 식으로 안 찍히고 수박수박수 이런 식으로 찍히는지
} // 위 처럼 ['수,''박] 으로 찍힐 거라면 배열이 있어야할 때인가?
return answer; // 그래서 그땐 .push가 필요한 거고
}
( 이 코드를 보고 배열, 문자열, 숫자열 let으로 선언하는 의미에 대하 깨달음! 꼭 볼 것!)
function solution(n) {
let answer = '';
let arr = [];
for(let i = 0; i < n; i++){
if (i%2 === 0){
arr[i] = "수"
} else {
arr[i] = "박"
}
answer = arr.join('');
}
return answer;
}
내 코드 풀이에서 다 풀고 난 다음에 return < 이 부분 > 리턴하고 그 다음 부분에 뭘 넣어야 될지 고민이 있었다.
위의 답은 '수','박' 이런 식으로 계속 i를 돌린 값들이 나오면 그것들을 더해야 하는 거기 때문에.
조원 분의 코드 풀이2를 보면서 생겼던 의문이 내 코드 풀이까지 이해를 할 수 있게 됐다.
내 코드 풀이의 코드의 값은 for문을 돌리면 '수', '박, 이런 식으로 값이 나오는 게 맞는데 자바스크립트는 문자열 ' ' 이런 형식을 '나'+'바보' = '나바보' 라고 자동으로 문자열끼리 더한 값이 나온다고 한다. 이게 자바스크립트의 기본이고 특징이라고 한다.
그런 특징이 있기에 '10'+'12'=1012이 된다. 왜냐 여기 숫자는 숫자인 문자열에 해당하므로 그래서 수학적으로 저 둘 더한 값을 구하길 원한다면 10+12=22가 나오게 된다. 저렇게 숫자열로 써야함.