js100제 풀이
업데이트:
문제 31
답 : 4번
O(1)은 배열의 element가 얼마나 많은지와 관계없이 첫 번째 element만 필요하므로 작업은 한 번만 이루어진다. 이러한 경우를 Constant Time이라 한다.
문제 32
<script>
var str = prompt().split(' ');
console.log(str.length);
</script>
문제 33
<script>
var num = prompt().split(' ');
var rNum = num.reverse();
console.log(rNum);
</script>
문제 34
<script>
var height = prompt().split(' ');
var flag = true;
for(var i=0; i<height.length-1; i++){
if(height[i] > height[i+1]){
flag = false;
break;
}
}
if(flag) console.log("YES")
else console.log("NO")
</script>
문제 35
<script>
function one(n) {
function two(n2) {
var a = Math.pow(n2, n);
return a;
}
return two;
}
var a = one(2);
var b = one(3);
var c = one(4);
console.log(a(10));
console.log(b(10));
console.log(c(10));
</script>
내장 함수까지는 이해했는데 console.log(a(10));
이부분에서 a는 함수가 아닌데 왜(10)을 하는지.. 그리고 저 10이라는 값이 two의 매개변수로 전달되는지 이해를 못했다…친구 도움으로 겨우 푼 문제…
문제 36
<script>
var a = prompt();
var result = '';
for(var i = 1; i <= 9; i++){
result += a * i + ' ';
}
console.log(result);
</script>
문제 37
<script>
var input = prompt().split(' ');
var stdSet = new Set();
var stdArr = new Array();
var idx = 0;
for(var i=0; i<input.length; i++){
stdSet.add(input[i]);
}
stdSet.forEach(function(e){
stdArr[idx++] = e;
})
var cntArr = new Array();
for(var i=0; i<stdArr.length; i++){
var cnt = 0;
for(var j=0; j<input.length; j++){
if(stdArr[i] == input[j]){
cnt++;
}
}
cntArr[i] = cnt;
}
var saveIdx = 0;
var max = cntArr[0];
for(var i=1; i<stdArr.length-1; i++){
if(max < cntArr[i]) {
saveIdx = i;
}
}
console.log(stdArr[saveIdx] + "(이)가 총 " + cntArr[saveIdx]
+ "표로 반장이 되었습니다.");
</script>
문제 38
<script>
var scoreArr = prompt().split(' ');
var top3 = new Set();
var cnt = 0;
scoreArr.sort(function(a,b){return a-b;})
scoreArr.reverse();
for(var i = 0; i<scoreArr.length; i++){
if(top3.size < 3){
top3.add(scoreArr[i]);
}
}
top3.forEach(function(e){
for(var i = 0; i < scoreArr.length; i++){
if(e == scoreArr[i]){
cnt++;
}
}
});
console.log(cnt);
</script>
문제 39
<script>
var str = prompt();
var strArr = new Array();
for(var i = 0; i < str.length; i++){
strArr[i] = str.charAt(i);
if(strArr[i] == 'q'){
strArr[i] = 'e';
}
}
var result = '';
for(var i of strArr){
result += i;
}
console.log(result);
</script>
문제 40
<script>
var limit = prompt('제한 무게');
var memNo = prompt('인원수');
var weight = 0;
var cnt = 0;
for(var i=0; i<memNo; i++){
weight += Number(prompt('무게'));
if(weight <= limit){
cnt++;
}
}
console.log(cnt);
</script>
댓글남기기