프로그래머스 level0 문제풀이 38

[Programmers] level 0) 문제 '컨트롤 제트' 풀이

🫠 Programmers (level 0) 👉🏻 문제 50번 (컨트롤 제트) : 문자열에서 'Z' 이전 값을 제외한 합계 구하기 function solution(s) { // 배열로 만들기 (문자열 -> 숫자) let arr = s.split(' ').map((item) => { if(isNaN(Number(item))){ return item = 'Z' } else{ return Number(item) } }) // while문을 통해 'Z'일 때, (-) 해주기 let i = 0 let sum = 0 while(i < arr.length){ if(arr[i] == 'Z'){ sum -= arr[i-1] i++ } else { sum += arr[i] i++ } } return sum } ✅ 확인할 점..

[Programmers] level 0) 문제 '7의 개수' 풀이

🫠 Programmers (level 0) 👉🏻 문제 49번 (7의 개수) : 배열에서 7 개수 찾기 function solution(array) { // 문자열 > 숫자로 변형해서 숫자 하나씩 쪼개기 return array.join('').split('').filter((item) => item == 7).length } ✅ 확인할 점 💡 join() -> split()을 통해 문자열에서 숫자로 변경이 가능하며, 기준점 없이 사용할 경우, 한 글자마다 쪼개진다. 💡 join('').split('7')을 해줄 경우에는 배열 내에서 7은 ['']로 되며, 7을 제외한 나머지 숫자는 그대로 들어온다. 이 점 체크 ✅

[Programmers] level 0) 문제 'k의 개수' 풀이

🫠 Programmers (level 0) 👉🏻 문제 47번 (k의 개수) : i ~ j까지 k의 값 개수 구하기 function solution(i, j, k) { // i ~ j까지의 배열 만들고, join으로 문자열 -> split으로 배열 하나씩 만들기 let arr = new Array(j-i+1).fill(i).map((item,index) => item+index).join('').split('') // 배열에서 k값 개수 찾기 return arr.filter((item) => item == k).length } ✅ 확인할 점 💡 i ~ j까지 i부터 1씩 증가하는 배열을 만들어주고, join으로 모든 숫자를 합친 뒤, split으로 분리 💡 filter를 통해 해당 k값의 개수를 구함

[Programmers] level 0) 문제 '2차원으로 만들기' 풀이

🫠 Programmers (level 0) 👉🏻 문제 45번 (2차원으로 만들기) : 2차원 배열에 인자값인 배열의 요소 넣기 function solution(num_list, n) { // 배열 만들기 let answer = new Array(num_list.length / n); // 2차원 배열 만들기 for(let i = 0; i < (num_list.length / n); i++){ answer[i] = new Array(2) } // [[]] 중 []에 값 넣기 let l = 0 for(let i = 0; i < answer.length; i++){ for(let j = 0; j < n; j++){ answer[i][j] = num_list[l] l++ } } return answer } ✅ ..

[Programmers] level 0) 문제 '무스부호(1)' 풀이

🫠 Programmers (level 0) 👉🏻 문제 44번 (무스부호) : 해당 무스부호에 맞는 문자 반환하기 function solution(letter) { morse = { '.-':'a', '-...':'b', '-.-.':'c', '-..':'d', '.':'e', '..-.':'f', '--.':'g', '....':'h', '..':'i', '.---':'j', '-.-':'k', '.-..':'l', '--':'m', '-.':'n', '---':'o', '.--.':'p', '--.-':'q', '.-.':'r', '...':'s', '-':'t', '..-':'u', '...-':'v', '.--':'w', '-..-':'x', '-.--':'y', '--..':'z' } // spl..

[Programmers] level 0) 문제 '숫자 찾기' 풀이

🫠 Programmers (level 0) 👉🏻 문제 43번 (숫자 찾기) : 문자열에서 매개변수로 받은 숫자가 있다면, 위치값을 반환 function solution(num, k) { // 배열 만들기(문자열 > 숫자) let arr = [...num+''].map((item) => +item) // for문으로 k 위치값 찾기 (+1) for(let i = 0; i < arr.length; i++){ if(arr[i] === k){ return i+1 // 만약 배열 앞에서부터 k를 찾았다면 위치를 바로 return 해주고, for문을 멈춰라 break } else if(!arr.includes(k)){ return -1 } } } ✅ 확인할 점 💡 for문을 통해서 k의 위치값을 찾을 수 있다. f..

[Programmers] level 0) 문제 '외계행성의 나이' 풀이

🫠 Programmers (level 0) 👉🏻 문제 42번 (외계행성의 나이) : 0-9까지 위치에 맞는 알파벳 출력하기 function solution(age) { // a-z 가져오기 let arr = ['a','b','c','d','e','f','g','h','i','j'] // age 값 배열 만들기 let age2 = [...age+''].map((item) => +item) // map을 통해 해당 문자 출력하기 return age2.map((item) => arr[item]).join('') } ✅ 확인할 점 💡a-j까지 가져오는 데에 있어 정규표현식을 사용하고 싶었으나, 정규표현식이 익숙하지 않아 어려웠다.. 🫠

[Programmers] level 0) 문제 '특정 문자 제거하기' 풀이

🫠 Programmers (level 0) 👉🏻 문제 41번 (특정 문자 제거하기) : 문자열에서 특정 문자 제거하기 function solution(my_string, letter){ // replace()에 new RegExp() 사용해서 변수 넣기 let letterRegExp = new RegExp(letter, 'g') return my_string.replace(letterRegExp, '') } ✅ 확인할 점 💡 new RegExp(변수명, 'gi') => g : 전체 & i : 대소문자(전부) 💡 ReplaceAll()을 써서 가져와도 좋을 것 같다.