본문 바로가기
공부/javascript

2022.04.22 - javascript - 퀴즈 (2)

by 기묜몬 2022. 4. 22.

1. < 켄을 찾아라 >

문자열 요소로 이루어진 배열이 인자로 주어졌을 때, 다음과 같은 조건을 만족하는 함수를 작성해 주세요!

📌 인자로 들어온 배열의 요소 중 문자열 "Ken"의 인덱스를 찾을 수 있어야 합니다.
📌 인덱스를 찾은 후 "켄은 1에 있다" 라는 형식의 문자열이 리턴되어야 합니다.
📌 문자열 "Ken"의 위치와, 배열 요소의 갯수와 상관없이 함수는 정상적으로 작동되어야 합니다.
📌 배열 요소에 "Ken"이 중복되거나, 존재하지 않는 경우는 없습니다.
📌 빈 배열이 주어질 경우는 고려하지 않아도 됩니다.


+--------------------------------------------------------------------+
| arr | 리턴 값 |
+--------------------------------------------------------------------+
| ["Jett", "Leo", "Ken", "Justin"] | "켄은 2에 있다" |
+--------------------------------------------------------------------+
| ["Lee", "Park", "Jung", "Ken"] | "켄은 3에 있다" |
+--------------------------------------------------------------------+

*/

const vaco1 = ["Jett", "Ken"];
const vaco2 = ["Leo", "Kim", "Ken", "Lee"];
const vaco3 = ["Ken", "Justin", "Jett"];


[ my answer ]
function findKen(arr) {
const ken = arr.indexOf("Ken");
if(ken > -1){
return `켄은 ${ken}에 있다`;
}
}

const result1 = (findKen(vaco1) === "켄은 1에 있다");
const result2 = (findKen(vaco2) === "켄은 2에 있다");
const result3 = (findKen(vaco3) === "켄은 0에 있다");

if (
result1 &&
result2 &&
result3
) {
alert("🎉");
}


2. < 바코바코바코바 >

숫자가 인자로 주어졌을 때, 다음과 같은 조건을 만족하는 함수를 작성해 주세요!

📌 n이 1인 경우 문자열 "바"를 반환해야 합니다.
📌 n이 2인 경우 문자열 "바코"를 반환해야 합니다.
📌 n이 3인 경우 문자열 "바코바"를 반환해야 합니다.
📌 그 이상의 숫자는 아래 예시를 참고해 주세요.
📌 repeat 메서드를 사용하면 안됩니다.
📌 n은 항상 1이상 입니다.


+--------------------------------------------------------------------+
| n | 리턴 값 |
+--------------------------------------------------------------------+
| 1 | "바" |
+--------------------------------------------------------------------+
| 2 | "바코" |
+--------------------------------------------------------------------+
| 3 | "바코바" |
+--------------------------------------------------------------------+
| 5 | "바코바코바" |
+--------------------------------------------------------------------+
| 7 | "바코바코바코바" |
+--------------------------------------------------------------------+
| 12 | "바코바코바코바코바코바코" |
+--------------------------------------------------------------------+

*/
[ my answer ]
function repeatVaco(n) {
let result = "";
for(let i = 1; i <= n; i++){
if(i % 2 === 0){
result += "코";
}else{
result += "바";
}
}
return result;
}

const result1 = (repeatVaco(1) === "바");
const result2 = (repeatVaco(2) === "바코");
const result3 = (repeatVaco(4) === "바코바코");
const result4 = (repeatVaco(5) === "바코바코바");
const result5 = (repeatVaco(10) === "바코바코바코바코바코");

if (
result1 &&
result2 &&
result3 &&
result4 &&
result5
) {
alert("🎉");
}