문제7. 행성의 한글 이름 입력하면 영어 이름 반환하는 프로그램
//내 답안
let name = prompt("행성이름 입력");
let planets =["수성","금성","지구","화성","목성","토성","천왕성","해왕성"];
let planetsEng = ["Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"];
console.log(planetsEng[planets.indexOf(name)]);
// 객체를 이용해 더 간결하게 나타낼 수 있음
const planets = {
'수성' : 'Mercury',
'금성' : 'Venus',
'지구' : 'Earth',
'화성' : 'Mars',
'목성' : 'Jupiter',
'토성' : 'Saturn',
'천왕성' : 'Uranus',
'해왕성' : 'Neptune',
};
const name = prompt("행성의 이름을 입력하세요.");
console.log(planets[name]);
문제8. 학생 이름과 점수 받아 각각 key, value로 객체 출력
let name = prompt("학생 이름 입력").split(' ') //공백으로 이름 구분
let score = prompt("점수 입력").split(' ')
let obj ={}
for (let i=0; i<name.length; i++) {
obj[name[i]] = parseInt(score[i],10); //변수 이름으로 속성 지정 X -> 대괄호[ ]를 붙여줌
}
console.log(obj)
// 유진 혜진 70 100 입력시 {'유진':70, '혜진':100} 출력
문제9. 문자열에서 2개의 연속된 요소 출력
let str = prompt("문자 입력하기")
for (let i=0; i<str.length-1; i++){
console.log(str[i], str[i+1]);
}
/* Cloud 입력시
C l
l o
o u
u d
*/
// 문자열에서 각 문자에 접근하는 방법은 배열과 유사
문제10. 여러 개 숫자 입력시 역순으로 하나씩 출력
// 내 답안
let num = prompt("여러 개의 숫자 입력").split(' ').reverse().join(' ');
// join은 배열 요소를 연결해 하나의 문자열로 만들어줌
console.log(num)
// 답 방법
const data = prompt('숫자를 입력하세요.').split(' ').reverse();
let result = '';
for (let i=0; i<data.length; i++){
result += data[i];
}
console.log(result);
문제11. 키 순서대로(오름차순) 섰는지 확인하기
// 내 답안, for문 써서 더 로직이 복잡
let num = prompt("키 입력").split(' ');
let a = true;
for (let i=0; i<num.length-1; i++){
if (num[i] > num[i+1]){
a = false;
}
}
if (a === false) {
console.log("NO")
}
else {console.log("YES")}
// 답, sort 써서 간결
const unsorted = prompt('키를 입력하세요');
let sorted = "";
sorted = unsorted.split(' ').sort(function(a, b) {
return a - b;
})
.join(" ");
if (unsorted === sorted) {
console.log("Yes"); //오름차순 정렬한게 입력값이랑 같으면 YES 나머지 다 NO
} else {
console.log("No");
}
// 155 156 165 166 169 176 입력 -> YES
/* sort 메소드: 배열의 요소 정렬, 비교함수가 두 개의 인수(a,b) 받아 a-b면 음수(오름차순), b-a면 양수(내림차순)
문제12. 2제곱, 3제곱, 4제곱 할 수 있는 함수 만들기
function one(n) {
function two(value) {
const sq = Math.pow(value, n);
return sq;
}
return two;
}
const a = one(2);
const b = one(3);
const c = one(4);
//one 함수 호출해 초기화(처음 값 할당), one 함수는 two 함수 반환하므로 a변수는 two 함수 인스턴스 참조
console.log(a(10)); //two 함수의 인스턴스 호출, two 함수의 인수로 10 전달 -> 100 반환
console.log(b(10));
console.log(c(10));
'IT 기초 > JavaScript' 카테고리의 다른 글
자바스크립트 기본 문제 풀기 (1) (0) | 2023.04.12 |
---|---|
DOM (문서 객체 모델) 개념 정리 (0) | 2023.03.25 |
자바스크립트 관련 용어 정리(2) _ 프레임워크와 라이브러리 (0) | 2023.03.24 |
자바스크립트 관련 용어 정리(1) _ 자바스크립트, 객체, API (0) | 2023.03.24 |