-
외계행성의 나이 (어려움, 이중배열, toString 문자열화)Coding Test/프로그래머스 Lv.0 2023. 6. 8. 20:17
https://school.programmers.co.kr/learn/courses/30/lessons/120834
나의 풀이
function solution(age) { let answer = ''; let a=0 let b=1 let c=2 let d=3 let e=4 let f=5 let g=6 let h=7 let i=8 let j=9 for(let i = 0, i < age.length; i++){ i[0][2][3][4] } return answer; }
변수선언은 다 했는데 for문에 어떻게 넣을지 모르겠다. 최대 1000까지인데 숫서대로 숫자 4자리를 어떻게 배열해야할지.
매서드 1. Array.from()
Array.from()
반복가능한 객체 또는 유사배열 객체를 복사해 새로운 객체 배열을 반환할 때 사용.
const arr = [1, 2, 3, 4, 5] const PlusTwo = function double(number){ return number +2; } const newArr = Array.from(arr, PlusTwo) console.log(newArr); // [3, 4, 5, 6, 7]
매서드 2. 숫자를 문자열로 반환하는 매서드 toString(), String()
const num = 5; const str1= num.toString(); //"5" const str2= (100).toString(); //"100" const str3= (-10.11).toString(); // "-10.11" const Str1= String(num); //"5" const Str2= String(100) //"100" const Str3= String(-10.11) // "-10.11" // toString은 뒤에 하고 String은 앞에 함.
매서드 3. 배열의 모든요소를 연결한 하나의 문자열 반환 join
const elements = ["fire", "air", 'water']; console.log(elements.join()); // "fire,air,water" console.log(elements.join('')); // "fireairwater" console.log(elements.join(-)); // "fire-air-water"
정답
설명. 예를들어 age를 156로 가정하자. 0부터 9까지는 a부터 j까지다. alphabet 배열에 a부터 j까지 담고 이를 for문으로 돌림. age는 숫자이므로, 문자열화 시키기 위해 toString 함수씀 for문 중괄호에 answer += alphabet[age[i]] 여기서 i는 0부터 들어간다. age는 문자열화되어서, "123"이 된다. 문자열은 배열처럼 대괄호로 하면 인덱스값이 있다. 이는, 1이 0번째 인덱스, 5가 1번째 인덱스, 6이 2번재 인덱스이다. age[i] 에 i에 0부터 돌려보면 age[0] = 1 age[1] = 5 age[2] = 6 alphabet[age[0]] => alphabet[1] => b alphabet[age[1]] => alphabet[5] => f alphabet[age[2]] => alphabet[6] => g 156 = bfg
function solution (age){ let alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] let answer = ""; age = age.toString(); for (let i = 0; i < age.length; i++){ answer += alphabet[age[i]] } return answer; }
'Coding Test > 프로그래머스 Lv.0' 카테고리의 다른 글
순서쌍의 개수. if문에 !가 들어가면, '만약 ~가 아니라면'의 뜻. (0) 2023.06.09 진료순서 정하기 (indexOf함수// map(a=>(a)복사// sort((a,b)=>b-a)오름차순 역배열) (0) 2023.06.08 프로그래머스 배열 자르기 (순서배열, 배열의 일부분 앞뒤자르기) (0) 2023.06.08 프로그래머스 - 각도기 (if문 여러개) (0) 2023.06.07 프로그래머스 문자 반복 출력하기 (repeat메소드, 더하기등호연산자) (0) 2023.06.07