[JavaScript] 제주 코딩 베이스캠프 Code Festival Javascript 100제 #2
문제11 : for를 이용한 기본 활용
1부터 100까지 모두 더하는 Code를 부분에 완성하세요. for를 사용해야 합니다.
let s =0;
//pass
console.log(s)
내 풀이 ⭕
let s =0;
for(i=1; i<=100; i++ ){
s+= i
}
console.log(s)
s = 5050
문제12 : 게임 캐릭터 클래스 만들기
데이터
<여기에 class를 작성하세요.>
const x = new Wizard(545, 210, 10);
console.log(x.health, x.mana, x.armor);
x.attack();
출력
545 210 10
파이어볼
내 풀이 ⭕
let Wizard = class {
constructor(health, mana, armor){
this.health = health;
this.mana = mana;
this.armor = armor;
}
attack(){
return console.log('파이어볼')
}
}
const x = new Wizard(245, 210, 10);
console.log(x.health, x.mana, x.armor)
x.attack();
문제13 : 몇번째 행성인가요
우리 태양계를 이루고 있는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다.
입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다.
출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요.
예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다.
내 풀이 ⭕
let solarSystem = ['수성', '금성', '지구', '화성', '목성', '토성','천왕성', '해왕성']
const n = prompt('몇 번째 행성?(숫자로 입력)')
console.log(solarSystem[n -1])
문제14 : 3의 배수인가요?
영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다.
입력으로 랜덤한 숫자 n이 주어집니다.
만약 그 수가 3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력해 주세요.
내 풀이 ⭕
const n2 = prompt('랜덤수 입력')
if( n2 % 3 == '0' ){
console.log('짝')
} else{
console.log(n2)
}
문제15 : 자기소개
신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다.
만약 입력으로 김다정이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게해주세요.
내 풀이 ⭕
const name = prompt('이름입력')
console.log(`안녕하세요. 저는 ${name}입니다.`)
문제16 : 로꾸거
문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다.
입출력
입력 : 거꾸로
출력 : 로꾸거
내 풀이
const text = prompt('내용입력');
function reverseStr (str){
let result ='';
for(let i=str.length-1; i >= 0; i--){
result = result + str[i];
}
return result;
}
console.log(reverseStr(text))
답안
const n = prompt('입력하세요.');
const reverseString = n.split('').reverse().join('');
/*
* split() 메서드는 문자열을 배열로 만들어 반환하고,
* reverse() 메서드는 배열의 순서를 반전하며,
* join() 메서드는 원소를 모두 붙여 문자열로 반환합니다.
*/
console.log(reverseString);
문제17 : 놀이기구 키 제한
유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다.
유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다.
입력으로 키가 주어지면 키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요.
내 풀이 ⭕
const key = prompt('키를 입력하세요')
if(key < 150){
console.log('NO')
} else{
console.log('Yes')
}
문제18 : 평균 점수
영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다.
공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. 단, 소숫점 자리는 모두 버립니다.
내 풀이 ⭕
const score = prompt('점수를 입력하세요')
const scoreArray = score.split(' ')
let sum = 0;
for(let i=0; i<scoreArray.length; i++){
sum += Number(scoreArray[i]);
}
console.log( Math.floor(sum / scoreArray.length))
답안
const scores = prompt('세 과목의 점수를 입력하세요.').split(' ');
let sum = 0;
for (let i=0; i<3; i++){
sum += parseInt(scores[i], 10); // 십진수의 형태의 숫자로 데이터 타입을 변환합니다.
}
console.log(Math.floor(sum/3)); //Math.floor 메서드는 소수점 자리를 모두 버림합니다.
문제19 : 제곱을 구하자
공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요.
내 풀이 ⭕
const number = prompt('두 수를 입력하세요')
const numbers = number.split(' ')
console.log(Math.pow(numbers[0], numbers[1]))
답안
const n = prompt('수를 입력하세요.').split(' ');
console.log(Math.pow(parseInt(n[0], 10), parseInt(n[1], 10)));
문제20 : 몫과 나머지
공백으로 구분하여 두 숫자가 주어집니다.
두번째 숫자로 첫번째 숫자를 나누었을 때 그 몫과 나머지를 공백으로 구분하여 출력하세요.
내 풀이 ⭕
const number = prompt('두 수를 입력하세요')
const numbers = number.split(' ')
console.log(numbers[0]/numbers[1] , numbers[0]%numbers[1] )
답안
const n = prompt('수를 입력하세요.').split(' ');
const result = Math.floor(parseInt(n[0], 10) / parseInt(n[1], 10));
const left = parseInt(n[0], 10) % parseInt(n[1], 10);
console.log(result, left);
공부 필요한 부분
⭐⭐⭐⭐⭐ class 개념(12번 문제)
변수의 타입을 한번더 체크하는 습관이 필요함.
Author And Source
이 문제에 관하여([JavaScript] 제주 코딩 베이스캠프 Code Festival Javascript 100제 #2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jhee/JavaScript-Code-Festival-2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)