문제 설명 : 1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.
function solution(i, j, k) {
let count = 0;
for (let o = i ; o <= j ; o++){
const m = o.toString().split('')
for (let j of m){
if (k == j) count++
}
}
return count
}
🗒️코멘트 : NULL
문제 설명 : 외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요.
function solution(emergency) {
const arr = [];
for (let i of emergency){
arr.push(i)
}
arr.sort((a,b)=>b-a)
for (let i = 0 ; i < emergency.length ; i++){
emergency[i] = arr.indexOf(emergency[i])+1
}
return emergency
}
🗒️코멘트 : 어려운 문제도 아니었는데...왜 이렇게 시간을 많이 잡아 먹은 건지..잘 모르겠다..그리고 뭔지 모르겠지만..코드가 마음에 들지 않는다..
문제 설명 : 문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
function solution(s) {
const arr = []
const sArr = s.split("");
for (let i = 0; i <sArr.length ; i++){
let count = 0;
for (let j = 0 ; j <sArr.length ; j++){
if(sArr[i] == sArr[j]){
count++
}
}
if (count == 1){
arr.push(sArr[i])
}
}
return arr.sort().join("")
}
//
function solution(s) {
const arr = []
const sArr = s.split("");
for (let i of sArr){
if (sArr.indexOf(i) == sArr.lastIndexOf(i)){
arr.push(i)
}
}
return arr.sort().join("")
}
🗒️코멘트 : 자바스크립트 공부의 끝이 없는 걸 다시 느끼는게..이걸 풀고 나서 Array.lastIndexOf()
라는 메서드를 알게 되었다...하하하 그럼..밑에 있는 식과 같이 짧아 지는데..