diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..5dbfbf4 Binary files /dev/null and b/.DS_Store differ diff --git a/Challenge/DaeunYang/solve1.js b/Challenge/DaeunYang/solve1.js new file mode 100644 index 0000000..a7fc4bc --- /dev/null +++ b/Challenge/DaeunYang/solve1.js @@ -0,0 +1,18 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; +// 풀이 1. slice 사용 +const answer1 = nums.slice(0,3); +console.log(answer1); + +// 풀이 2. split 사용 +var nums = [100, 200, 300, 400, 500]; +const answer2 = nums.splice(0,3); +console.log(answer2) + +// 풀이 3. pop 사용 +var nums = [100, 200, 300, 400, 500]; +nums.pop(); +nums.pop(); +console.log(nums); \ No newline at end of file diff --git a/Challenge/DaeunYang/solve2.js b/Challenge/DaeunYang/solve2.js new file mode 100644 index 0000000..a32ffdf --- /dev/null +++ b/Challenge/DaeunYang/solve2.js @@ -0,0 +1,11 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +// 데이터 +var arr = [200, 100, 300]; +arr.splice(2,0,10000); +console.log(arr); + +// 출력 +// [200, 100, 10000, 300] \ No newline at end of file diff --git a/Problems/5.for/README.md b/Challenge/DahyunLim/005.for/README.md similarity index 100% rename from Problems/5.for/README.md rename to Challenge/DahyunLim/005.for/README.md diff --git a/Challenge/DahyunLim/005.for/solve.js b/Challenge/DahyunLim/005.for/solve.js new file mode 100644 index 0000000..115fcef --- /dev/null +++ b/Challenge/DahyunLim/005.for/solve.js @@ -0,0 +1,20 @@ + +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +var a = 10; +var b = 2; + +for (var i = 1; i < 5; i += 2) { + a += i; +} + +console.log(a + b); + +// a = a + i +// a = 10 + 1 = 11 +// a = 11 + 3 = 14 +// a + b = 14 + 2 = 16 +// 따라서 16 + diff --git a/Challenge/DahyunLim/006.false/README.md b/Challenge/DahyunLim/006.false/README.md new file mode 100644 index 0000000..66f6e1d --- /dev/null +++ b/Challenge/DahyunLim/006.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Challenge/DahyunLim/006.false/solve.js b/Challenge/DahyunLim/006.false/solve.js new file mode 100644 index 0000000..dfe58a6 --- /dev/null +++ b/Challenge/DahyunLim/006.false/solve.js @@ -0,0 +1,13 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +// 1) NaN +// 2) 1 +// 3) "" +// 4) 0 +// 5) undefined + +/* 답 : 2번 +null, undefined, 0, 빈 문자열, NaN, false 를 제외하고는 모두 참인 값 */ diff --git a/Challenge/DahyunLim/007.variable/README.md b/Challenge/DahyunLim/007.variable/README.md new file mode 100644 index 0000000..2002c44 --- /dev/null +++ b/Challenge/DahyunLim/007.variable/README.md @@ -0,0 +1,9 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Challenge/DahyunLim/007.variable/solve.js b/Challenge/DahyunLim/007.variable/solve.js new file mode 100644 index 0000000..f062c90 --- /dev/null +++ b/Challenge/DahyunLim/007.variable/solve.js @@ -0,0 +1,15 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age +*/ + +/* 답 : 3, 5번 +변수명은 _, $, 문자로 시작 +(예약어는 ex.let 불가능) */ diff --git a/Challenge/DahyunLim/008.object/README.md b/Challenge/DahyunLim/008.object/README.md new file mode 100644 index 0000000..0e23154 --- /dev/null +++ b/Challenge/DahyunLim/008.object/README.md @@ -0,0 +1,16 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Challenge/DahyunLim/008.object/solve.js b/Challenge/DahyunLim/008.object/solve.js new file mode 100644 index 0000000..17916ad --- /dev/null +++ b/Challenge/DahyunLim/008.object/solve.js @@ -0,0 +1,21 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +*/ + +/* +답: 84 +키가 중복되었을 경우, 마지막 값을 출력한다. +*/ diff --git a/Challenge/DahyunLim/009.concat/README.md b/Challenge/DahyunLim/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Challenge/DahyunLim/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Challenge/DahyunLim/009.concat/solve.js b/Challenge/DahyunLim/009.concat/solve.js new file mode 100644 index 0000000..f6035ac --- /dev/null +++ b/Challenge/DahyunLim/009.concat/solve.js @@ -0,0 +1,20 @@ +/* +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = year.concat('/',month,'/',day,' ',hour,':',minute,':',second); + +console.log(result); + +**출력** +2019/04/26 11:34:27 +*/ diff --git a/Challenge/DahyunLim/010.star/README.md b/Challenge/DahyunLim/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Challenge/DahyunLim/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Challenge/DahyunLim/010.star/solve.js b/Challenge/DahyunLim/010.star/solve.js new file mode 100644 index 0000000..05c0930 --- /dev/null +++ b/Challenge/DahyunLim/010.star/solve.js @@ -0,0 +1,22 @@ +/* +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +**입력** +const level = 5; + +for (let i=1; i<=level; i++){ + console.log(" ".repeat(level-i) + "*".repeat(i*2-1)); +} + +**출력** + * + *** + ***** + ******* +********* +*/ diff --git a/Challenge/DahyunLim/011.for/README.md b/Challenge/DahyunLim/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Challenge/DahyunLim/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/DahyunLim/011.for/solve.js b/Challenge/DahyunLim/011.for/solve.js new file mode 100644 index 0000000..91beb3f --- /dev/null +++ b/Challenge/DahyunLim/011.for/solve.js @@ -0,0 +1,15 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. +*/ + +let s = 0; + +//pass +for (let i = 1; i <= 100; i++) { + s += i; +} + +console.log(s); + diff --git a/Challenge/DahyunLim/012.class/README.md b/Challenge/DahyunLim/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Challenge/DahyunLim/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Challenge/DahyunLim/012.class/solve.js b/Challenge/DahyunLim/012.class/solve.js new file mode 100644 index 0000000..6c45e5b --- /dev/null +++ b/Challenge/DahyunLim/012.class/solve.js @@ -0,0 +1,32 @@ +/* +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +*/ + +class Wizard { + constructor(health, mana, armor) { + this.health = health; + this.mana = mana; + this.armor = armor; + } + attack() { + console.log('파이어볼'); + } +} + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); \ No newline at end of file diff --git a/Challenge/DahyunLim/013.find-planet/README.md b/Challenge/DahyunLim/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Challenge/DahyunLim/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Challenge/DahyunLim/013.find-planet/solve.js b/Challenge/DahyunLim/013.find-planet/solve.js new file mode 100644 index 0000000..ded9dee --- /dev/null +++ b/Challenge/DahyunLim/013.find-planet/solve.js @@ -0,0 +1,22 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ + +function find_planet(n) { + const solar = ['수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성']; + console.log(solar[n - 1]); +} + +find_planet(1); \ No newline at end of file diff --git a/Challenge/DahyunLim/014.if/README.md b/Challenge/DahyunLim/014.if/README.md new file mode 100644 index 0000000..488df61 --- /dev/null +++ b/Challenge/DahyunLim/014.if/README.md @@ -0,0 +1,17 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +```jsx +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +``` \ No newline at end of file diff --git a/Challenge/DahyunLim/014.if/solve.js b/Challenge/DahyunLim/014.if/solve.js new file mode 100644 index 0000000..6771348 --- /dev/null +++ b/Challenge/DahyunLim/014.if/solve.js @@ -0,0 +1,25 @@ +/* +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +*/ + +const n = prompt('숫자를 입력하세요.'); + +if (n % 3 == 0 && n != 0) { + console.log("짝"); +} else { + console.log(n); +} diff --git a/Challenge/DahyunLim/015.template _literals/README.md b/Challenge/DahyunLim/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Challenge/DahyunLim/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Challenge/DahyunLim/015.template _literals/solve.js b/Challenge/DahyunLim/015.template _literals/solve.js new file mode 100644 index 0000000..35279e6 --- /dev/null +++ b/Challenge/DahyunLim/015.template _literals/solve.js @@ -0,0 +1,16 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +*/ + +const name = prompt('이름을 소개하세요.'); +console.log(`안녕하세요. 저는 ${name}입니다.`); \ No newline at end of file diff --git "a/Challenge/DahyunLim/016.\353\241\234\352\276\270\352\272\274/README.md" "b/Challenge/DahyunLim/016.\353\241\234\352\276\270\352\272\274/README.md" new file mode 100644 index 0000000..6528a39 --- /dev/null +++ "b/Challenge/DahyunLim/016.\353\241\234\352\276\270\352\272\274/README.md" @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git "a/Challenge/DahyunLim/016.\353\241\234\352\276\270\352\272\274/solve.js" "b/Challenge/DahyunLim/016.\353\241\234\352\276\270\352\272\274/solve.js" new file mode 100644 index 0000000..3824caa --- /dev/null +++ "b/Challenge/DahyunLim/016.\353\241\234\352\276\270\352\272\274/solve.js" @@ -0,0 +1,12 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +*/ + +const backward = prompt('거꾸로 출력할 문장을 입력하세요.'); +backward.split('').reverse().join(''); diff --git a/Challenge/DahyunLim/017.limit/README.md b/Challenge/DahyunLim/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Challenge/DahyunLim/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Challenge/DahyunLim/017.limit/solve.js b/Challenge/DahyunLim/017.limit/solve.js new file mode 100644 index 0000000..082559f --- /dev/null +++ b/Challenge/DahyunLim/017.limit/solve.js @@ -0,0 +1,22 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. +*/ + +function heightCheck() { + const height = prompt('키를 입력하세요'); + if (height >= 150) { + console.log('YES'); + } else { + console.log('NO'); + } +} + +heightCheck(); + + diff --git a/Challenge/DahyunLim/018.average/README.md b/Challenge/DahyunLim/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Challenge/DahyunLim/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Challenge/DahyunLim/018.average/solve.js b/Challenge/DahyunLim/018.average/solve.js new file mode 100644 index 0000000..a64bd97 --- /dev/null +++ b/Challenge/DahyunLim/018.average/solve.js @@ -0,0 +1,25 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 + +*/ + +function avg() { + const score = prompt('국어, 수학, 영어 시험 점수를 입력하세요.').split(' '); + let sum = 0; + + for (i = 0; i < score.length; i++) { + sum += parseInt(score[i], 10); + } + console.log(Math.floor(sum / score.length)); +} +avg(); \ No newline at end of file diff --git a/Challenge/DahyunLim/019.square/README.md b/Challenge/DahyunLim/019.square/README.md new file mode 100644 index 0000000..e02a30a --- /dev/null +++ b/Challenge/DahyunLim/019.square/README.md @@ -0,0 +1,3 @@ +문제19 : 제곱을 구하자 + +공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. \ No newline at end of file diff --git a/Challenge/DahyunLim/019.square/solve.js b/Challenge/DahyunLim/019.square/solve.js new file mode 100644 index 0000000..cd301a9 --- /dev/null +++ b/Challenge/DahyunLim/019.square/solve.js @@ -0,0 +1,13 @@ +// 문제19 : 제곱을 구하자 + +// 공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. + +function multi() { + const num = prompt('두 숫자를 입력하세요.').split(' '); + const a = parseInt(num[0], 10); + const b = parseInt(num[1], 10); + const ab = Math.pow(a, b); + console.log(ab); +} + +multi(); \ No newline at end of file diff --git a/Challenge/DahyunLim/020.share-remainder/README.md b/Challenge/DahyunLim/020.share-remainder/README.md new file mode 100644 index 0000000..91c7d9c --- /dev/null +++ b/Challenge/DahyunLim/020.share-remainder/README.md @@ -0,0 +1,11 @@ +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` \ No newline at end of file diff --git a/Challenge/DahyunLim/020.share-remainder/solve.js b/Challenge/DahyunLim/020.share-remainder/solve.js new file mode 100644 index 0000000..3f6a836 --- /dev/null +++ b/Challenge/DahyunLim/020.share-remainder/solve.js @@ -0,0 +1,21 @@ +/* +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +**입출력** + +입력 : 10 2 +출력 : 5 0 +*/ + +function math() { + const num = prompt('숫자 2개를 입력하세요.').split(' '); + let val1 = Math.floor(parseInt(num[0], 10) / parseInt(num[1], 10)); + let val2 = parseInt(num[0], 10) % parseInt(num[1], 10); + + console.log(val1, val2); +} + +math(); \ No newline at end of file diff --git a/Challenge/DahyunLim/021.set/README.md b/Challenge/DahyunLim/021.set/README.md new file mode 100644 index 0000000..255a239 --- /dev/null +++ b/Challenge/DahyunLim/021.set/README.md @@ -0,0 +1,9 @@ +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); \ No newline at end of file diff --git a/Challenge/DahyunLim/021.set/solve.js b/Challenge/DahyunLim/021.set/solve.js new file mode 100644 index 0000000..2845ec9 --- /dev/null +++ b/Challenge/DahyunLim/021.set/solve.js @@ -0,0 +1,16 @@ +/* +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); +*/ + +/* +set : 중복을 허용하지 않는 데이터 구조 +정답 : 3번, 5번 +*/ \ No newline at end of file diff --git a/Challenge/DahyunLim/022.multiple/README.md b/Challenge/DahyunLim/022.multiple/README.md new file mode 100644 index 0000000..b4d74cc --- /dev/null +++ b/Challenge/DahyunLim/022.multiple/README.md @@ -0,0 +1,9 @@ +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 \ No newline at end of file diff --git a/Challenge/DahyunLim/022.multiple/solve.js b/Challenge/DahyunLim/022.multiple/solve.js new file mode 100644 index 0000000..8cf3a16 --- /dev/null +++ b/Challenge/DahyunLim/022.multiple/solve.js @@ -0,0 +1,15 @@ +/* +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 +*/ + +/* 정답 : 2번 +나머지가 0으로 떨어지면 6의 배수임을 알 수 있다. +*/ \ No newline at end of file diff --git a/Challenge/DahyunLim/023.OX/README.md b/Challenge/DahyunLim/023.OX/README.md new file mode 100644 index 0000000..47e0046 --- /dev/null +++ b/Challenge/DahyunLim/023.OX/README.md @@ -0,0 +1,3 @@ +# 문제23 : OX문제 + +`console.log(10/3)`의 출력 결과는 **3**이다. \ No newline at end of file diff --git a/Challenge/DahyunLim/023.OX/solve.js b/Challenge/DahyunLim/023.OX/solve.js new file mode 100644 index 0000000..b3e5d10 --- /dev/null +++ b/Challenge/DahyunLim/023.OX/solve.js @@ -0,0 +1,9 @@ +// # 문제23: OX문제 + +// `console.log(10/3)`의 출력 결과는 ** 3 ** 이다. + +/* +정답) X +10 나누기 3은 3.3333이다. +3이 출력되게 하려면 console.log(Math.floor(10/3));을 해야 한다. +*/ \ No newline at end of file diff --git a/Challenge/DahyunLim/024.toUpperCase/README.md b/Challenge/DahyunLim/024.toUpperCase/README.md new file mode 100644 index 0000000..a5e5142 --- /dev/null +++ b/Challenge/DahyunLim/024.toUpperCase/README.md @@ -0,0 +1,12 @@ +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +```jsx +**입출력** + +입력 : mary +출력 : MARY +``` \ No newline at end of file diff --git a/Challenge/DahyunLim/024.toUpperCase/solve.js b/Challenge/DahyunLim/024.toUpperCase/solve.js new file mode 100644 index 0000000..cdc0a27 --- /dev/null +++ b/Challenge/DahyunLim/024.toUpperCase/solve.js @@ -0,0 +1,19 @@ +/* +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +**입출력** + +입력 : mary +출력 : MARY +*/ + +function upperName(){ + const name = prompt('이름을 입력하세요.'); + console.log(name.toUpperCase()); +} + +upperName(); \ No newline at end of file diff --git a/Challenge/DahyunLim/025.circle-area/README.md b/Challenge/DahyunLim/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Challenge/DahyunLim/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Challenge/DahyunLim/025.circle-area/solve.js b/Challenge/DahyunLim/025.circle-area/solve.js new file mode 100644 index 0000000..71ac6de --- /dev/null +++ b/Challenge/DahyunLim/025.circle-area/solve.js @@ -0,0 +1,33 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + +function circleArea(r){ + return Math.pow(r,2)*3.14; +} + +circleArea(2); + +//prompt로 입력받는 경우 + + +/* 궁금증 : function 안에서 console.log와 return의 차이점은 뭘까? + +console.log(x)는 내장함수, return은 제어문 + +예시) +function circleArea(r){ + return Math.pow(r,2)*3.14; +} + +function circleArea(r){ + console.log(Math.pow(r,2)*3.14); +} + +콘솔을 찍어주는 기능만하는 것, 반환값이 없기 때문에 변수에 담아 변수를 찍어보면 undefined로 나온다는게 차이 +그냥 계산만해주고 다른 값을 반환해주지 않아도 된다면 return을 사용해줄 필요 없고, 어떤 계산을 통해 그 값을 사용하려면 return을 해주고 상황에 맞게 return을 사용 +return을 사용하면 함수가 빠져나가기 때문에 뒤에 오는 것들을 실행하지 않는다! +*/ \ No newline at end of file diff --git a/Challenge/DahyunLim/026.planet_2/README.md b/Challenge/DahyunLim/026.planet_2/README.md new file mode 100644 index 0000000..678e82a --- /dev/null +++ b/Challenge/DahyunLim/026.planet_2/README.md @@ -0,0 +1,6 @@ +# 문제26 : 행성 문제2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git a/Challenge/DahyunLim/026.planet_2/solve.js b/Challenge/DahyunLim/026.planet_2/solve.js new file mode 100644 index 0000000..2c10b57 --- /dev/null +++ b/Challenge/DahyunLim/026.planet_2/solve.js @@ -0,0 +1,39 @@ +// 문제26 : 행성 문제2 + +// 우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +// 이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. +// 행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. + +function planetKoreanToEnglish(){ + const planetName = prompt('행성 이름을 입력하세요.'); + const planet = { + 수성 : 'Mercury', + 금성 : 'Venus', + 지구 : 'Earth', + 화성 : 'Mars', + 목성 : 'Jupiter', + 토성 : 'Saturn', + 천왕성 : 'Uranus', + 해왕성 : 'Neptune' + }; + return planet[planetName]; +} + +planetKoreanToEnglish(); + +// 방법 2 +function planetKoreanToEnglish(planetName){ + const planet = { + 수성 : 'Mercury', + 금성 : 'Venus', + 지구 : 'Earth', + 화성 : 'Mars', + 목성 : 'Jupiter', + 토성 : 'Saturn', + 천왕성 : 'Uranus', + 해왕성 : 'Neptune' + }; + return planet[planetName]; +} + +planetKoreanToEnglish('지구'); \ No newline at end of file diff --git a/Challenge/DahyunLim/027.object/README.md b/Challenge/DahyunLim/027.object/README.md new file mode 100644 index 0000000..9b83945 --- /dev/null +++ b/Challenge/DahyunLim/027.object/README.md @@ -0,0 +1,14 @@ +# 문제27 : 객체 만들기 + +첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +```jsx +**입력** +Yujin Hyewon +70 100 + +**출력** +{'Yujin': 70, 'Hyewon': 100} +``` \ No newline at end of file diff --git a/Challenge/DahyunLim/027.object/solve.js b/Challenge/DahyunLim/027.object/solve.js new file mode 100644 index 0000000..80a7782 --- /dev/null +++ b/Challenge/DahyunLim/027.object/solve.js @@ -0,0 +1,23 @@ +// # 문제27 : 객체 만들기 + +// 첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +// 두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + + +// **입력** +// Yujin Hyewon +// 70 100 + +// **출력** +// {'Yujin': 70, 'Hyewon': 100} + +const names = prompt('이름을 띄어쓰기로 나열해주세요.').split(' '); +const scores = prompt('점수를 띄어쓰기로 나열해주세요.').split(' '); +let obj = {}; + +for (let i=0; i < names.length; i++){ + obj[names[i]] = scores[i]; +} + +console.log(obj); diff --git a/Challenge/DahyunLim/028.2-gram/README.md b/Challenge/DahyunLim/028.2-gram/README.md new file mode 100644 index 0000000..3a0dfe1 --- /dev/null +++ b/Challenge/DahyunLim/028.2-gram/README.md @@ -0,0 +1,23 @@ +# 문제28 : 2-gram + +**2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +```jsx +**입력** +Javascript + +**출력** +J a +a v +v a +a s +s c +c r +r i +i p +p t +``` + +입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. \ No newline at end of file diff --git a/Challenge/DahyunLim/028.2-gram/solve.js b/Challenge/DahyunLim/028.2-gram/solve.js new file mode 100644 index 0000000..a678f42 --- /dev/null +++ b/Challenge/DahyunLim/028.2-gram/solve.js @@ -0,0 +1,32 @@ +// # 문제28 : 2-gram + +// **2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +// 예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + + +// **입력** +// Javascript + +// **출력** +// J a +// a v +// v a +// a s +// s c +// c r +// r i +// i p +// p t + + +// 입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. +const word = "Javascript"; + +function twoGram(word) { + for (let i = 0; i < word.length - 1; i++) { + console.log(word[i], word[i + 1]); + } +} + +twoGram(word); \ No newline at end of file diff --git "a/Challenge/DahyunLim/029.\353\214\200\353\254\270\354\236\220/README.md" "b/Challenge/DahyunLim/029.\353\214\200\353\254\270\354\236\220/README.md" new file mode 100644 index 0000000..287a235 --- /dev/null +++ "b/Challenge/DahyunLim/029.\353\214\200\353\254\270\354\236\220/README.md" @@ -0,0 +1,5 @@ +# 문제29 : 대문자만 지나가세요 + +진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git "a/Challenge/DahyunLim/029.\353\214\200\353\254\270\354\236\220/solve.js" "b/Challenge/DahyunLim/029.\353\214\200\353\254\270\354\236\220/solve.js" new file mode 100644 index 0000000..0d480b2 --- /dev/null +++ "b/Challenge/DahyunLim/029.\353\214\200\353\254\270\354\236\220/solve.js" @@ -0,0 +1,16 @@ +// 문제29 : 대문자만 지나가세요 + +// 진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +// 알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. + +function solution(string) { + if (string === string.toUpperCase()) { + console.log('Yes') + } else { + console.log('NO') + } +} + +const words = prompt('알파벳 하나를 입력하세요') +solution(words) diff --git a/Challenge/hyebinWoo/1.arry/README.md b/Challenge/DahyunLim/1.arry/README.md similarity index 100% rename from Challenge/hyebinWoo/1.arry/README.md rename to Challenge/DahyunLim/1.arry/README.md diff --git a/Challenge/DahyunLim/1.arry/solve.js b/Challenge/DahyunLim/1.arry/solve.js new file mode 100644 index 0000000..7923ba5 --- /dev/null +++ b/Challenge/DahyunLim/1.arry/solve.js @@ -0,0 +1,7 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; + +nums.splice(3, 2); +console.log(nums); diff --git a/Problems/2.arryMethd/README.md b/Challenge/DahyunLim/2.arryMethd/README.md similarity index 100% rename from Problems/2.arryMethd/README.md rename to Challenge/DahyunLim/2.arryMethd/README.md diff --git a/Challenge/DahyunLim/2.arryMethd/solve.js b/Challenge/DahyunLim/2.arryMethd/solve.js new file mode 100644 index 0000000..4ab4784 --- /dev/null +++ b/Challenge/DahyunLim/2.arryMethd/solve.js @@ -0,0 +1,12 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +//데이터 +var arr = [200, 100, 300]; +//pass +arr.splice(2, 0, 1000); +console.log(arr); + +//출력 +//[200, 100, 10000, 300] \ No newline at end of file diff --git a/Problems/3.type/README.md b/Challenge/DahyunLim/3.type/README.md similarity index 100% rename from Problems/3.type/README.md rename to Challenge/DahyunLim/3.type/README.md diff --git a/Challenge/DahyunLim/3.type/solve.js b/Challenge/DahyunLim/3.type/solve.js new file mode 100644 index 0000000..e975184 --- /dev/null +++ b/Challenge/DahyunLim/3.type/solve.js @@ -0,0 +1,13 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof (arr)); + +// 1) undefined +// 2) string +// 3) number +// 4) object + +// 정답 4번 \ No newline at end of file diff --git a/Problems/4.type(2)/README.md b/Challenge/DahyunLim/4.type(2)/README.md similarity index 100% rename from Problems/4.type(2)/README.md rename to Challenge/DahyunLim/4.type(2)/README.md diff --git a/Challenge/DahyunLim/4.type(2)/solve.js b/Challenge/DahyunLim/4.type(2)/solve.js new file mode 100644 index 0000000..46b173f --- /dev/null +++ b/Challenge/DahyunLim/4.type(2)/solve.js @@ -0,0 +1,11 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 1) 입력 : a =1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object + +// 정답 2번 +// a는 number diff --git a/Problems/1.arry/README.md b/Challenge/DoheeKim/1.arry/README.md similarity index 100% rename from Problems/1.arry/README.md rename to Challenge/DoheeKim/1.arry/README.md diff --git a/Challenge/DaeunYang/1.arry/solve.js b/Challenge/DoheeKim/1.arry/solve.js similarity index 100% rename from Challenge/DaeunYang/1.arry/solve.js rename to Challenge/DoheeKim/1.arry/solve.js diff --git a/Challenge/DaeunYang/1.arry/README.md b/Challenge/GyeongRim/001.arry/README.md similarity index 63% rename from Challenge/DaeunYang/1.arry/README.md rename to Challenge/GyeongRim/001.arry/README.md index 70e93f2..d5088f4 100644 --- a/Challenge/DaeunYang/1.arry/README.md +++ b/Challenge/GyeongRim/001.arry/README.md @@ -2,6 +2,4 @@ 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. -var nums = [100, 200, 300, 400, 500]; - -0525 이거 바꿈 \ No newline at end of file +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/hyebinWoo/1.arry/solve.js b/Challenge/GyeongRim/001.arry/solve.js similarity index 100% rename from Challenge/hyebinWoo/1.arry/solve.js rename to Challenge/GyeongRim/001.arry/solve.js diff --git a/Challenge/GyeongRim/014.if/README.md b/Challenge/GyeongRim/014.if/README.md new file mode 100644 index 0000000..54c8aab --- /dev/null +++ b/Challenge/GyeongRim/014.if/README.md @@ -0,0 +1,7 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. \ No newline at end of file diff --git a/Challenge/GyeongRim/014.if/solve.js b/Challenge/GyeongRim/014.if/solve.js new file mode 100644 index 0000000..bb3531c --- /dev/null +++ b/Challenge/GyeongRim/014.if/solve.js @@ -0,0 +1,22 @@ +// 나의 답 +function 삼육구 (num) { + let number = num.toString().split(''); + let clap = []; + for (let i of number) { + if (i % 3 === 0) { + clap.push('짝'); + } else { + clap.push(i); + } + } + return clap; +}; + +// 답안 +const n = prompt('숫자를 입력하세요.'); + +if (n%3 == 0) { // 나머지 연산 %는 n을 3으로 나누었을때 몫이 아닌 나머지 값을 반환합니다. + console.log('짝'); +} else { + console.log(n); +} \ No newline at end of file diff --git a/Challenge/GyeongRim/015.template _literals/README.md b/Challenge/GyeongRim/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Challenge/GyeongRim/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Challenge/GyeongRim/015.template _literals/solve.js b/Challenge/GyeongRim/015.template _literals/solve.js new file mode 100644 index 0000000..4e74350 --- /dev/null +++ b/Challenge/GyeongRim/015.template _literals/solve.js @@ -0,0 +1,16 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +*/ + +const name = prompt('이름을 입력하세요.'); +console.log(`안녕하세요. 저는 ${name}입니다.`); \ No newline at end of file diff --git "a/Challenge/GyeongRim/016.\353\241\234\352\276\270\352\272\274/README.md" "b/Challenge/GyeongRim/016.\353\241\234\352\276\270\352\272\274/README.md" new file mode 100644 index 0000000..6528a39 --- /dev/null +++ "b/Challenge/GyeongRim/016.\353\241\234\352\276\270\352\272\274/README.md" @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git "a/Challenge/GyeongRim/016.\353\241\234\352\276\270\352\272\274/solve.js" "b/Challenge/GyeongRim/016.\353\241\234\352\276\270\352\272\274/solve.js" new file mode 100644 index 0000000..7f2d679 --- /dev/null +++ "b/Challenge/GyeongRim/016.\353\241\234\352\276\270\352\272\274/solve.js" @@ -0,0 +1,16 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +*/ + +function reverseWord () { + const word = prompt('단어를 입력하세요.'); + console.log(word.split('').reverse().join('')); +} + +reverseWord(); \ No newline at end of file diff --git a/Challenge/GyeongRim/017.limit/README.md b/Challenge/GyeongRim/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Challenge/GyeongRim/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Challenge/GyeongRim/017.limit/solve.js b/Challenge/GyeongRim/017.limit/solve.js new file mode 100644 index 0000000..54f34c3 --- /dev/null +++ b/Challenge/GyeongRim/017.limit/solve.js @@ -0,0 +1,16 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. +*/ + +const n = prompt('키를 입력하세요.'); +if (n >= 150) { + console.log('YES'); +} else { + console.log('NO'); +} \ No newline at end of file diff --git a/Challenge/GyeongRim/018.average/README.md b/Challenge/GyeongRim/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Challenge/GyeongRim/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Challenge/GyeongRim/018.average/solve.js b/Challenge/GyeongRim/018.average/solve.js new file mode 100644 index 0000000..8b50a72 --- /dev/null +++ b/Challenge/GyeongRim/018.average/solve.js @@ -0,0 +1,23 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 + +*/ + +const score = prompt('각 과목의 점수를 띄어쓰기로 구분하여 입력하세요.') +let scoreStr = score.split(' '); +let sum = 0; +for (let i = 0; i < scoreStr.length; i++) { + sum += parseInt(scoreStr[i]); +} + +console.log(Math.floor(sum/(scoreStr.length))); \ No newline at end of file diff --git a/Challenge/GyeongRim/019.square/README.md b/Challenge/GyeongRim/019.square/README.md new file mode 100644 index 0000000..e02a30a --- /dev/null +++ b/Challenge/GyeongRim/019.square/README.md @@ -0,0 +1,3 @@ +문제19 : 제곱을 구하자 + +공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. \ No newline at end of file diff --git a/Challenge/GyeongRim/019.square/solve.js b/Challenge/GyeongRim/019.square/solve.js new file mode 100644 index 0000000..62fa28b --- /dev/null +++ b/Challenge/GyeongRim/019.square/solve.js @@ -0,0 +1,7 @@ +// 문제19 : 제곱을 구하자 + +// 공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. + +const n = prompt('두 숫자를 공백으로 구분하여 입력하세요.').split(' '); + +console.log(Math.pow(parseInt(n[0]), parseInt(n[1])); \ No newline at end of file diff --git a/Challenge/GyeongRim/020.share-remainder/README.md b/Challenge/GyeongRim/020.share-remainder/README.md new file mode 100644 index 0000000..91c7d9c --- /dev/null +++ b/Challenge/GyeongRim/020.share-remainder/README.md @@ -0,0 +1,11 @@ +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` \ No newline at end of file diff --git a/Challenge/GyeongRim/020.share-remainder/solve.js b/Challenge/GyeongRim/020.share-remainder/solve.js new file mode 100644 index 0000000..35b6906 --- /dev/null +++ b/Challenge/GyeongRim/020.share-remainder/solve.js @@ -0,0 +1,26 @@ +/* +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +**입출력** + +입력 : 10 2 +출력 : 5 0 + +답안 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); +*/ + +function divide() { + const numbers = prompt('공백으로 구분하여 두 숫자를 입력하세요.').split(' '); + const 몫 = parseInt(numbers[0] / numbers[1]); + const 나머지 = numbers[0] % numbers[1]; + + return console.log(`몫: ${몫}, 나머지: ${나머지}`); +}; \ No newline at end of file diff --git a/Challenge/GyeongRim/021.set/README.md b/Challenge/GyeongRim/021.set/README.md new file mode 100644 index 0000000..255a239 --- /dev/null +++ b/Challenge/GyeongRim/021.set/README.md @@ -0,0 +1,9 @@ +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); \ No newline at end of file diff --git a/Challenge/GyeongRim/021.set/solve.js b/Challenge/GyeongRim/021.set/solve.js new file mode 100644 index 0000000..867f196 --- /dev/null +++ b/Challenge/GyeongRim/021.set/solve.js @@ -0,0 +1,14 @@ +/* +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); +*/ + +// 나의 답 +// 3, 5 \ No newline at end of file diff --git a/Challenge/GyeongRim/022.multiple/README.md b/Challenge/GyeongRim/022.multiple/README.md new file mode 100644 index 0000000..b4d74cc --- /dev/null +++ b/Challenge/GyeongRim/022.multiple/README.md @@ -0,0 +1,9 @@ +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 \ No newline at end of file diff --git a/Challenge/GyeongRim/022.multiple/solve.js b/Challenge/GyeongRim/022.multiple/solve.js new file mode 100644 index 0000000..c5bca2f --- /dev/null +++ b/Challenge/GyeongRim/022.multiple/solve.js @@ -0,0 +1,14 @@ +/* +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 +*/ + +// 나의 답 +// 2 \ No newline at end of file diff --git a/Challenge/GyeongRim/023.OX/README.md b/Challenge/GyeongRim/023.OX/README.md new file mode 100644 index 0000000..47e0046 --- /dev/null +++ b/Challenge/GyeongRim/023.OX/README.md @@ -0,0 +1,3 @@ +# 문제23 : OX문제 + +`console.log(10/3)`의 출력 결과는 **3**이다. \ No newline at end of file diff --git a/Challenge/GyeongRim/023.OX/solve.js b/Challenge/GyeongRim/023.OX/solve.js new file mode 100644 index 0000000..44e6ea8 --- /dev/null +++ b/Challenge/GyeongRim/023.OX/solve.js @@ -0,0 +1,6 @@ +// # 문제23: OX문제 + +// `console.log(10/3)`의 출력 결과는 ** 3 ** 이다. + +// 나의 답 +// NO, 3.333333... \ No newline at end of file diff --git a/Challenge/GyeongRim/024.toUpperCase/README.md b/Challenge/GyeongRim/024.toUpperCase/README.md new file mode 100644 index 0000000..a5e5142 --- /dev/null +++ b/Challenge/GyeongRim/024.toUpperCase/README.md @@ -0,0 +1,12 @@ +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +```jsx +**입출력** + +입력 : mary +출력 : MARY +``` \ No newline at end of file diff --git a/Challenge/GyeongRim/024.toUpperCase/solve.js b/Challenge/GyeongRim/024.toUpperCase/solve.js new file mode 100644 index 0000000..aa3ddc8 --- /dev/null +++ b/Challenge/GyeongRim/024.toUpperCase/solve.js @@ -0,0 +1,19 @@ +/* +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +**입출력** + +입력 : mary +출력 : MARY +*/ + +function nameToUpperCase() { + const name = prompt('이름을 입력하세요'); + console.log(name.toUpperCase()); +} + +nameToUpperCase(); \ No newline at end of file diff --git a/Challenge/GyeongRim/025.circle-area/README.md b/Challenge/GyeongRim/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Challenge/GyeongRim/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Challenge/GyeongRim/025.circle-area/solve.js b/Challenge/GyeongRim/025.circle-area/solve.js new file mode 100644 index 0000000..b5508f4 --- /dev/null +++ b/Challenge/GyeongRim/025.circle-area/solve.js @@ -0,0 +1,13 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + +function circle() { + let radius = prompt('반지름의 길이를 입력해주세요.'); + console.log(Math.pow(parseInt(radius), 2) * 3.14); +} + +circle(); \ No newline at end of file diff --git a/Challenge/GyeongRim/026.planet_2/README.md b/Challenge/GyeongRim/026.planet_2/README.md new file mode 100644 index 0000000..678e82a --- /dev/null +++ b/Challenge/GyeongRim/026.planet_2/README.md @@ -0,0 +1,6 @@ +# 문제26 : 행성 문제2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git a/Challenge/GyeongRim/026.planet_2/solve.js b/Challenge/GyeongRim/026.planet_2/solve.js new file mode 100644 index 0000000..81f464e --- /dev/null +++ b/Challenge/GyeongRim/026.planet_2/solve.js @@ -0,0 +1,30 @@ +// 문제26 : 행성 문제2 + +// 우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +// 이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +// 행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. + +const planets = { + '수성' : 'Mercury', + '금성' : 'Venus', + '지구' : 'Earth', + '화성' : 'Mars', + '목성' : 'Jupiter', + '토성' : 'Saturn', + '천왕성' : 'Uranus', + '해왕성' : 'Neptune', +}; + +function korToEng () { + let koreanName = prompt('행성의 한글 이름을 입력하세요.').toString(); + + if (!Object.keys(planets).includes(koreanName)) { + alert('이름을 다시 입력해주세요.'); + korToEng(); + } else { + console.log(planets[koreanName]); + } +} + +korToEng(); \ No newline at end of file diff --git a/Challenge/HeejinKim/002.arryMethd/README.md b/Challenge/HeejinKim/002.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Challenge/HeejinKim/002.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/HeejinKim/002.arryMethd/solve.js b/Challenge/HeejinKim/002.arryMethd/solve.js new file mode 100644 index 0000000..1af1be9 --- /dev/null +++ b/Challenge/HeejinKim/002.arryMethd/solve.js @@ -0,0 +1,10 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터; +var arr = [200, 100, 300]; +arr.splice(2, 0, 10000); +console.log(arr); + +출력[(200, 100, 10000, 300)]; diff --git a/Challenge/HeejinKim/003.type/README.md b/Challenge/HeejinKim/003.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/HeejinKim/003.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/HeejinKim/003.type/solve.js b/Challenge/HeejinKim/003.type/solve.js new file mode 100644 index 0000000..7edb1e3 --- /dev/null +++ b/Challenge/HeejinKim/003.type/solve.js @@ -0,0 +1,8 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof (arr)); + +// 4) object \ No newline at end of file diff --git a/Challenge/HeejinKim/004.type(2)/README.md b/Challenge/HeejinKim/004.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/HeejinKim/004.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/HeejinKim/004.type(2)/solve.js b/Challenge/HeejinKim/004.type(2)/solve.js new file mode 100644 index 0000000..e95a14e --- /dev/null +++ b/Challenge/HeejinKim/004.type(2)/solve.js @@ -0,0 +1,6 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + + +// 2) 입력 : a = 2.22, 출력 : boolean diff --git a/Challenge/HeejinKim/005.for/README.md b/Challenge/HeejinKim/005.for/README.md new file mode 100644 index 0000000..e704b38 --- /dev/null +++ b/Challenge/HeejinKim/005.for/README.md @@ -0,0 +1,20 @@ + +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); +``` + +1) 10 +2) 12 +3) 14 +4) 16 \ No newline at end of file diff --git a/Challenge/HeejinKim/005.for/solve.js b/Challenge/HeejinKim/005.for/solve.js new file mode 100644 index 0000000..4185c4d --- /dev/null +++ b/Challenge/HeejinKim/005.for/solve.js @@ -0,0 +1,16 @@ + +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +jsx +var a = 10; +var b = 2; + +for (var i = 1; i < 5; i += 2) { + a += i; +} + +console.log(a + b); + +// 4) 16 diff --git a/Challenge/HeejinKim/006.false/README.md b/Challenge/HeejinKim/006.false/README.md new file mode 100644 index 0000000..66f6e1d --- /dev/null +++ b/Challenge/HeejinKim/006.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Challenge/HeejinKim/006.false/solve.js b/Challenge/HeejinKim/006.false/solve.js new file mode 100644 index 0000000..07a7b6f --- /dev/null +++ b/Challenge/HeejinKim/006.false/solve.js @@ -0,0 +1,7 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + + +// 2) 1 diff --git a/Challenge/HeejinKim/007.variable/README.md b/Challenge/HeejinKim/007.variable/README.md new file mode 100644 index 0000000..2002c44 --- /dev/null +++ b/Challenge/HeejinKim/007.variable/README.md @@ -0,0 +1,9 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Challenge/HeejinKim/007.variable/solve.js b/Challenge/HeejinKim/007.variable/solve.js new file mode 100644 index 0000000..be35fe6 --- /dev/null +++ b/Challenge/HeejinKim/007.variable/solve.js @@ -0,0 +1,8 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +3) let +5) 1age +*/ \ No newline at end of file diff --git a/Challenge/HeejinKim/008.object/README.md b/Challenge/HeejinKim/008.object/README.md new file mode 100644 index 0000000..0e23154 --- /dev/null +++ b/Challenge/HeejinKim/008.object/README.md @@ -0,0 +1,16 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Challenge/HeejinKim/008.object/solve.js b/Challenge/HeejinKim/008.object/solve.js new file mode 100644 index 0000000..5963ac6 --- /dev/null +++ b/Challenge/HeejinKim/008.object/solve.js @@ -0,0 +1,18 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); + +84 +*/ \ No newline at end of file diff --git a/Challenge/HeejinKim/009.concat/README.md b/Challenge/HeejinKim/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Challenge/HeejinKim/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Challenge/HeejinKim/009.concat/solve.js b/Challenge/HeejinKim/009.concat/solve.js new file mode 100644 index 0000000..8969ff0 --- /dev/null +++ b/Challenge/HeejinKim/009.concat/solve.js @@ -0,0 +1,30 @@ +/* +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +*/ +var year = "2019"; +var month = "04"; +var day = "26"; +var hour = "11"; +var minute = "34"; +var second = "27"; + +var result = `${year}/${month}/${day} ${hour}:${minute}:${second}`; + +console.log(result); diff --git a/Challenge/HeejinKim/010.star/README.md b/Challenge/HeejinKim/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Challenge/HeejinKim/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Challenge/HeejinKim/010.star/solve.js b/Challenge/HeejinKim/010.star/solve.js new file mode 100644 index 0000000..7496487 --- /dev/null +++ b/Challenge/HeejinKim/010.star/solve.js @@ -0,0 +1,36 @@ +/* +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +*/ + +// function star(num) { +// for (let i = 0; i < num+1; i++) { +// for (let j = 1; j < i + 2; j += 2) { +// console.log("*".repeat(j)); +// } +// } +// } + +// star(5); + +function start(num) { + for (let i = 0; i < num; i++) { + console.log(" ".repeat(num - i) + "*".repeat(2 * i + 1)); + } +} + +start(5); diff --git a/Challenge/HeejinKim/011.for/README.md b/Challenge/HeejinKim/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Challenge/HeejinKim/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/HeejinKim/011.for/solve.js b/Challenge/HeejinKim/011.for/solve.js new file mode 100644 index 0000000..b80bcdf --- /dev/null +++ b/Challenge/HeejinKim/011.for/solve.js @@ -0,0 +1,19 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +let s = 0; + +//pass + +console.log(s); +*/ + +let s = 0; + +for (let i = 1; i <= 100; i++) { + s += i; +} + +console.log(s); diff --git a/Challenge/HeejinKim/012.class/README.md b/Challenge/HeejinKim/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Challenge/HeejinKim/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Challenge/HeejinKim/012.class/solve.js b/Challenge/HeejinKim/012.class/solve.js new file mode 100644 index 0000000..31d31fa --- /dev/null +++ b/Challenge/HeejinKim/012.class/solve.js @@ -0,0 +1,46 @@ +/* +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +*/ + +class Wizard { + constructor(health, mana, armor) { + this.health = health; + (this.mana = mana), (this.armor = armor); + } + attack() { + console.log("파이어볼"); + } +} + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +// class Wizard { +// constructor(health, mana, armor) { +// this.health = health; +// this.mana = mana; +// this.armor = armor; +// } +// attack() { +// console.log("파이어볼"); +// } +// } + +// const x = new Wizard(545, 210, 10); +// console.log(x.health, x.mana, x.armor); +// x.attack(); diff --git a/Challenge/HeejinKim/013.find-planet/README.md b/Challenge/HeejinKim/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Challenge/HeejinKim/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Challenge/HeejinKim/013.find-planet/solve.js b/Challenge/HeejinKim/013.find-planet/solve.js new file mode 100644 index 0000000..397658e --- /dev/null +++ b/Challenge/HeejinKim/013.find-planet/solve.js @@ -0,0 +1,26 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ + +const planet = ["수성", "금성", "지구", "화성", "목성", "토성", "천왕성", "혜왕성"] +function planetSelect(num) { + console.log(planet[num - 1]) + if (num > planet.length) { + console.log(`태양계의 ${num}번째 행성은 없습니다.`) + } +} + +planetSelect(1) + diff --git a/Challenge/HeejinKim/014.if/README.md b/Challenge/HeejinKim/014.if/README.md new file mode 100644 index 0000000..488df61 --- /dev/null +++ b/Challenge/HeejinKim/014.if/README.md @@ -0,0 +1,17 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +```jsx +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +``` \ No newline at end of file diff --git a/Challenge/HeejinKim/014.if/solve.js b/Challenge/HeejinKim/014.if/solve.js new file mode 100644 index 0000000..a3700c0 --- /dev/null +++ b/Challenge/HeejinKim/014.if/solve.js @@ -0,0 +1,31 @@ +/* +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +*/ + +function play(num) { + if (num % 3 === 0 && num > 0) { + console.log("짝👏🏻") + } + if (num <= 0) { + console.log("양수로 입력하세요") + + } else { + console.log(num) + } +} + +play(5) \ No newline at end of file diff --git a/Challenge/HeejinKim/015.template _literals/README.md b/Challenge/HeejinKim/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Challenge/HeejinKim/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Challenge/HeejinKim/015.template _literals/solve.js b/Challenge/HeejinKim/015.template _literals/solve.js new file mode 100644 index 0000000..82d53fa --- /dev/null +++ b/Challenge/HeejinKim/015.template _literals/solve.js @@ -0,0 +1,20 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +*/ + +function sayHello(name) { + console.log(`안녕하세요. 저는 ${name}입니다.`) +} + +let 이름 = prompt('이름을 입력하세요'); +console.log(`안녕하세요. 저는 ${이름}입니다.`); diff --git "a/Challenge/HeejinKim/016.\353\241\234\352\276\270\352\272\274/README.md" "b/Challenge/HeejinKim/016.\353\241\234\352\276\270\352\272\274/README.md" new file mode 100644 index 0000000..6528a39 --- /dev/null +++ "b/Challenge/HeejinKim/016.\353\241\234\352\276\270\352\272\274/README.md" @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git "a/Challenge/HeejinKim/016.\353\241\234\352\276\270\352\272\274/solve.js" "b/Challenge/HeejinKim/016.\353\241\234\352\276\270\352\272\274/solve.js" new file mode 100644 index 0000000..feb2522 --- /dev/null +++ "b/Challenge/HeejinKim/016.\353\241\234\352\276\270\352\272\274/solve.js" @@ -0,0 +1,27 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +*/ + +//처음 풀이 +let input = prompt("문장을 입력하세요") +let inputArray = [...input] +let replaceInputArray = [] + +for (let i = 0; i < input.length; i++) { + replaceInputArray.push(inputArray.pop()) +} + +let result = replaceInputArray.join("") +console.log(result) + +//reverse 함수 사용 + +let inputArray2 = [...prompt("문장을 입력하세요")] +let changeResult = inputArray2.reverse().join("") +console.log(changeResult) \ No newline at end of file diff --git a/Challenge/HeejinKim/017.limit/README.md b/Challenge/HeejinKim/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Challenge/HeejinKim/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Challenge/HeejinKim/017.limit/solve.js b/Challenge/HeejinKim/017.limit/solve.js new file mode 100644 index 0000000..6adc011 --- /dev/null +++ b/Challenge/HeejinKim/017.limit/solve.js @@ -0,0 +1,17 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. +*/ + +let height = prompt("키를 입력하세요") + +if (height >= 150) { + console.log("YES") +} else { + console.log("No") +} \ No newline at end of file diff --git a/Challenge/HeejinKim/018.average/README.md b/Challenge/HeejinKim/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Challenge/HeejinKim/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Challenge/HeejinKim/018.average/solve.js b/Challenge/HeejinKim/018.average/solve.js new file mode 100644 index 0000000..1bde715 --- /dev/null +++ b/Challenge/HeejinKim/018.average/solve.js @@ -0,0 +1,25 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 + +*/ + +let input = prompt("국어 수학 영어 점수를 순서대로 써주세요 (공백으로만 구분해주세요)").split(" "); + +let sum = 0; +for (let i = 0; i < input.length; i++) { + sum += parseInt(input[i], 10) +} + +let avg = Math.floor(sum / input.length) + +console.log(avg) \ No newline at end of file diff --git a/Challenge/HeejinKim/019.square/README.md b/Challenge/HeejinKim/019.square/README.md new file mode 100644 index 0000000..e02a30a --- /dev/null +++ b/Challenge/HeejinKim/019.square/README.md @@ -0,0 +1,3 @@ +문제19 : 제곱을 구하자 + +공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. \ No newline at end of file diff --git a/Challenge/HeejinKim/019.square/solve.js b/Challenge/HeejinKim/019.square/solve.js new file mode 100644 index 0000000..3d2880b --- /dev/null +++ b/Challenge/HeejinKim/019.square/solve.js @@ -0,0 +1,10 @@ +// 문제19 : 제곱을 구하자 + +// 공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. + +let input = prompt("제곱 할 두 숫자를 써주세요 ( 숫자는 공백으로 구분해주세요)").split(" ") + +let a = input[0] +let b = input[1] + +console.log(`${a}의 ${b}승은 ${a ** b}입니다.`) \ No newline at end of file diff --git a/Challenge/HeejinKim/020.share-remainder/README.md b/Challenge/HeejinKim/020.share-remainder/README.md new file mode 100644 index 0000000..91c7d9c --- /dev/null +++ b/Challenge/HeejinKim/020.share-remainder/README.md @@ -0,0 +1,11 @@ +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` \ No newline at end of file diff --git a/Challenge/HeejinKim/020.share-remainder/solve.js b/Challenge/HeejinKim/020.share-remainder/solve.js new file mode 100644 index 0000000..5a8e464 --- /dev/null +++ b/Challenge/HeejinKim/020.share-remainder/solve.js @@ -0,0 +1,17 @@ +/* +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +**입출력** + +입력 : 10 2 +출력 : 5 0 +*/ + +let input = prompt(" 공백으로 구분하여 두숫자를 적어주세요 ").split(" ") + +let 몫 = Math.floor(input[0] / input[1]) +let 나머지 = input[0] % input[1] +console.log(`${몫} ${나머지}`) \ No newline at end of file diff --git a/Challenge/HeejinKim/021.set/README.md b/Challenge/HeejinKim/021.set/README.md new file mode 100644 index 0000000..255a239 --- /dev/null +++ b/Challenge/HeejinKim/021.set/README.md @@ -0,0 +1,9 @@ +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); \ No newline at end of file diff --git a/Challenge/HeejinKim/021.set/solve.js b/Challenge/HeejinKim/021.set/solve.js new file mode 100644 index 0000000..bf8465f --- /dev/null +++ b/Challenge/HeejinKim/021.set/solve.js @@ -0,0 +1,14 @@ +/* +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); + +정답 : 3, 5 +set은 중복이 허용되지 않는 객체이다. +*/ \ No newline at end of file diff --git a/Challenge/HeejinKim/022.multiple/README.md b/Challenge/HeejinKim/022.multiple/README.md new file mode 100644 index 0000000..b4d74cc --- /dev/null +++ b/Challenge/HeejinKim/022.multiple/README.md @@ -0,0 +1,9 @@ +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 \ No newline at end of file diff --git a/Challenge/HeejinKim/022.multiple/solve.js b/Challenge/HeejinKim/022.multiple/solve.js new file mode 100644 index 0000000..966dd1d --- /dev/null +++ b/Challenge/HeejinKim/022.multiple/solve.js @@ -0,0 +1,13 @@ +/* +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 + +2번 +*/ \ No newline at end of file diff --git a/Challenge/HeejinKim/023.OX/README.md b/Challenge/HeejinKim/023.OX/README.md new file mode 100644 index 0000000..47e0046 --- /dev/null +++ b/Challenge/HeejinKim/023.OX/README.md @@ -0,0 +1,3 @@ +# 문제23 : OX문제 + +`console.log(10/3)`의 출력 결과는 **3**이다. \ No newline at end of file diff --git a/Challenge/HeejinKim/023.OX/solve.js b/Challenge/HeejinKim/023.OX/solve.js new file mode 100644 index 0000000..035f6f5 --- /dev/null +++ b/Challenge/HeejinKim/023.OX/solve.js @@ -0,0 +1,4 @@ +// # 문제23: OX문제 + +// `console.log(10/3)`의 출력 결과는 ** 3 ** 이다. +// (정답 : X ) 3.33333... \ No newline at end of file diff --git a/Challenge/HeejinKim/024.toUpperCase/README.md b/Challenge/HeejinKim/024.toUpperCase/README.md new file mode 100644 index 0000000..a5e5142 --- /dev/null +++ b/Challenge/HeejinKim/024.toUpperCase/README.md @@ -0,0 +1,12 @@ +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +```jsx +**입출력** + +입력 : mary +출력 : MARY +``` \ No newline at end of file diff --git a/Challenge/HeejinKim/024.toUpperCase/solve.js b/Challenge/HeejinKim/024.toUpperCase/solve.js new file mode 100644 index 0000000..e010e00 --- /dev/null +++ b/Challenge/HeejinKim/024.toUpperCase/solve.js @@ -0,0 +1,15 @@ +/* +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +**입출력** + +입력 : mary +출력 : MARY +*/ + +let upper = prompt("이름을 영어로 입력해주세요").toUpperCase() +console.log(upper) \ No newline at end of file diff --git a/Challenge/HeejinKim/025.circle-area/README.md b/Challenge/HeejinKim/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Challenge/HeejinKim/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Challenge/HeejinKim/025.circle-area/solve.js b/Challenge/HeejinKim/025.circle-area/solve.js new file mode 100644 index 0000000..84a6781 --- /dev/null +++ b/Challenge/HeejinKim/025.circle-area/solve.js @@ -0,0 +1,14 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + + +function circleArea() { + let r = parseInt(prompt("반지름을 입력하세요"), 10) + console.log(r * r * 3.14) +} +circleArea() \ No newline at end of file diff --git a/Challenge/HeejinKim/026.planet_2/README.md b/Challenge/HeejinKim/026.planet_2/README.md new file mode 100644 index 0000000..678e82a --- /dev/null +++ b/Challenge/HeejinKim/026.planet_2/README.md @@ -0,0 +1,6 @@ +# 문제26 : 행성 문제2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git a/Challenge/HeejinKim/026.planet_2/solve.js b/Challenge/HeejinKim/026.planet_2/solve.js new file mode 100644 index 0000000..a2e4cf0 --- /dev/null +++ b/Challenge/HeejinKim/026.planet_2/solve.js @@ -0,0 +1,19 @@ +// 문제26 : 행성 문제2 + +// 우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +// 이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. +// 한글이름 입력하면 영어이름 반환 + +const planet = { + '수성': 'Mercury', + '금성': 'Venus', + '지구': 'Earth', + '화성': 'Mars', + '목성': 'Jupiter', + '토성': 'Saturn', + '천왕성': 'Uranus', + '해왕성': 'Neptune' +} + +let input = prompt("행성이름을 입력하세요"); +console.log(planet[input]); \ No newline at end of file diff --git a/Challenge/HeejinKim/027.object/README.md b/Challenge/HeejinKim/027.object/README.md new file mode 100644 index 0000000..9b83945 --- /dev/null +++ b/Challenge/HeejinKim/027.object/README.md @@ -0,0 +1,14 @@ +# 문제27 : 객체 만들기 + +첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +```jsx +**입력** +Yujin Hyewon +70 100 + +**출력** +{'Yujin': 70, 'Hyewon': 100} +``` \ No newline at end of file diff --git a/Challenge/HeejinKim/027.object/solve.js b/Challenge/HeejinKim/027.object/solve.js new file mode 100644 index 0000000..5c4af59 --- /dev/null +++ b/Challenge/HeejinKim/027.object/solve.js @@ -0,0 +1,23 @@ +// # 문제27 : 객체 만들기 + +// 첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +// 두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +// **입력** +// Yujin Hyewon +// 70 100 + +// **출력** +// {'Yujin': 70, 'Hyewon': 100} + +let students = prompt("학생의 이름을 공백으로 구분하여 입력해주세요").split(" ") +let score = prompt("앞에서 입력한 학생들의 수학점수를 공백으로 구분하여 입력해주세요.").split(" ") + +let result = {}; +for (let i = 0; i < students.length; i++) { + result[students[i]] = parseInt(score[i], 10) +} +console.log(result) + + diff --git a/Challenge/HeejinKim/028.2-gram/README.md b/Challenge/HeejinKim/028.2-gram/README.md new file mode 100644 index 0000000..3a0dfe1 --- /dev/null +++ b/Challenge/HeejinKim/028.2-gram/README.md @@ -0,0 +1,23 @@ +# 문제28 : 2-gram + +**2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +```jsx +**입력** +Javascript + +**출력** +J a +a v +v a +a s +s c +c r +r i +i p +p t +``` + +입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. \ No newline at end of file diff --git a/Challenge/HeejinKim/028.2-gram/solve.js b/Challenge/HeejinKim/028.2-gram/solve.js new file mode 100644 index 0000000..52c8a89 --- /dev/null +++ b/Challenge/HeejinKim/028.2-gram/solve.js @@ -0,0 +1,28 @@ +// # 문제28 : 2-gram + +// **2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +// 예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + + +// **입력** +// Javascript + +// **출력** +// J a +// a v +// v a +// a s +// s c +// c r +// r i +// i p +// p t + + +// 입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. + +let input = prompt("문자열을 입력해주세요").split("") +for (let i = 1; i < input.length; i++) { + console.log(`${input[i - 1]} ${input[i]}`) +} \ No newline at end of file diff --git "a/Challenge/HeejinKim/029.\353\214\200\353\254\270\354\236\220/README.md" "b/Challenge/HeejinKim/029.\353\214\200\353\254\270\354\236\220/README.md" new file mode 100644 index 0000000..287a235 --- /dev/null +++ "b/Challenge/HeejinKim/029.\353\214\200\353\254\270\354\236\220/README.md" @@ -0,0 +1,5 @@ +# 문제29 : 대문자만 지나가세요 + +진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git "a/Challenge/HeejinKim/029.\353\214\200\353\254\270\354\236\220/solve.js" "b/Challenge/HeejinKim/029.\353\214\200\353\254\270\354\236\220/solve.js" new file mode 100644 index 0000000..9b6579a --- /dev/null +++ "b/Challenge/HeejinKim/029.\353\214\200\353\254\270\354\236\220/solve.js" @@ -0,0 +1,11 @@ +// 문제29 : 대문자만 지나가세요 + +// 진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +// 알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. + +let input = prompt("알파벳을 하나 입력하세요").slice(0, 1) + +if (input === input.toUpperCase()) { + console.log('YES') +} else (console.log('NO')) \ No newline at end of file diff --git a/Challenge/HeejinKim/030.find-string/README.md b/Challenge/HeejinKim/030.find-string/README.md new file mode 100644 index 0000000..b2f4ed6 --- /dev/null +++ b/Challenge/HeejinKim/030.find-string/README.md @@ -0,0 +1,15 @@ +# 문제30 : 문자열 속 문자 찾기 + +문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +**그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +```jsx +**입력** +pineapple is yummy +apple + +**출력** +4 +``` \ No newline at end of file diff --git a/Challenge/HeejinKim/030.find-string/solve.js b/Challenge/HeejinKim/030.find-string/solve.js new file mode 100644 index 0000000..5377236 --- /dev/null +++ b/Challenge/HeejinKim/030.find-string/solve.js @@ -0,0 +1,21 @@ +// # 문제30 : 문자열 속 문자 찾기 + +// 문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +// 첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +// **그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +// ```jsx +// **입력** +// pineapple is yummy +// apple + +// **출력** +// 4 +// ``` + +let string = prompt("문자열을 입력해주세요").split[""] +let find = prompt("찾을 문자를 입력해주세요").split[""] + +console.log(string.indexOf(find)); + diff --git a/Challenge/HeejinKim/031.timeComplexity/README.md b/Challenge/HeejinKim/031.timeComplexity/README.md new file mode 100644 index 0000000..c10ae55 --- /dev/null +++ b/Challenge/HeejinKim/031.timeComplexity/README.md @@ -0,0 +1,9 @@ +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() +4) arr.pop() +5) arr.includes(5) \ No newline at end of file diff --git a/Challenge/HeejinKim/031.timeComplexity/solve.js b/Challenge/HeejinKim/031.timeComplexity/solve.js new file mode 100644 index 0000000..1faec92 --- /dev/null +++ b/Challenge/HeejinKim/031.timeComplexity/solve.js @@ -0,0 +1,13 @@ +/* +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() +4) arr.pop() +5) arr.includes(5) + +정답 : 3번 5번 +*/ diff --git "a/Challenge/HeejinKim/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" "b/Challenge/HeejinKim/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" new file mode 100644 index 0000000..53459f4 --- /dev/null +++ "b/Challenge/HeejinKim/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" @@ -0,0 +1,13 @@ +# 문제32 : 문자열 만들기 + +취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +혜림이를 위해 **문자열을 입력받으면 단어의 갯수를 출력하는 프로그램**을 작성해 주세요. + +```jsx +**입력** +안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +**출력** +5 +``` diff --git "a/Challenge/HeejinKim/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" "b/Challenge/HeejinKim/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" new file mode 100644 index 0000000..d3f1edb --- /dev/null +++ "b/Challenge/HeejinKim/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" @@ -0,0 +1,16 @@ +// # 문제32 : 문자열 만들기 + +// 취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +// 혜림이를 위해 문자열을 입력받으면 단어의 갯수를 출력하는 프로그램을 작성해 주세요. + +// ```jsx +// **입력** +// 안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +// **출력** +// 5 +// ``` + +let input = prompt("문자열을 입력하세요.").split(" "); +console.log(input.length); diff --git a/Challenge/HeejinKim/033.Reverse/README.md b/Challenge/HeejinKim/033.Reverse/README.md new file mode 100644 index 0000000..7d450ce --- /dev/null +++ b/Challenge/HeejinKim/033.Reverse/README.md @@ -0,0 +1,13 @@ +# 문제33 : 거꾸로 출력하기 + +한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +```jsx +**입출력** +입력 : 1 2 3 4 5 +출력 : 5 4 3 2 1 + +**출력** +입력 : 2 4 6 7 8 +출력 : 8 7 6 4 2 +``` diff --git a/Challenge/HeejinKim/033.Reverse/solve.js b/Challenge/HeejinKim/033.Reverse/solve.js new file mode 100644 index 0000000..fc984ee --- /dev/null +++ b/Challenge/HeejinKim/033.Reverse/solve.js @@ -0,0 +1,24 @@ +// # 문제33 : 거꾸로 출력하기 + +// 한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +// ```jsx +// **입출력** +// 입력 : 1 2 3 4 5 +// 출력 : 5 4 3 2 1 + +// **출력** +// 입력 : 2 4 6 7 8 +// 출력 : 8 7 6 4 2 +// ``` + +let inputNumber = prompt( + "숫자를 입력하세요(숫자는 띄워쓰기로 구분해주세요)" +).split(" "); +let outNumber = []; +for (let i = 1; i < inputNumber.length + 1; i++) { + outNumber.push(inputNumber[inputNumber.length - i]); +} + +console.log(`입력 : ${inputNumber.join(" ")} +출력 : ${outNumber.join(" ")}`); diff --git a/Challenge/HeejinKim/034.Sort/README.md b/Challenge/HeejinKim/034.Sort/README.md new file mode 100644 index 0000000..2d7e610 --- /dev/null +++ b/Challenge/HeejinKim/034.Sort/README.md @@ -0,0 +1,15 @@ +# 문제34 : sort 구현하기 + +민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +(키는 공백으로 구분하여 입력됩니다.) + +```jsx +**입출력** +입력 : 176 156 155 165 166 169 +출력 : NO + +입력 : 155 156 165 166 169 176 +출력 : YES +``` diff --git a/Challenge/HeejinKim/034.Sort/solve.js b/Challenge/HeejinKim/034.Sort/solve.js new file mode 100644 index 0000000..c029742 --- /dev/null +++ b/Challenge/HeejinKim/034.Sort/solve.js @@ -0,0 +1,29 @@ +// # 문제34 : sort 구현하기 + +// 민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +// 민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +// (키는 공백으로 구분하여 입력됩니다.) + +// ```jsx +// **입출력** +// 입력 : 176 156 155 165 166 169 +// 출력 : NO + +// 입력 : 155 156 165 166 169 176 +// 출력 : YES +// ``` + +let height = prompt("키를 공백으로 구분하여 입력해주세요").split(" "); +let result = [...height]; + +result.sort(function (a, b) { + return a - b; +}); + +console.log(height); +console.log(result); + +if (height === result) { + console.log("YES"); +} else console.log("NO"); diff --git a/Challenge/HeejinKim/035.function/README.md b/Challenge/HeejinKim/035.function/README.md new file mode 100644 index 0000000..5e4b62a --- /dev/null +++ b/Challenge/HeejinKim/035.function/README.md @@ -0,0 +1,22 @@ +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` \ No newline at end of file diff --git a/Challenge/HeejinKim/035.function/solve.js b/Challenge/HeejinKim/035.function/solve.js new file mode 100644 index 0000000..9db5bf4 --- /dev/null +++ b/Challenge/HeejinKim/035.function/solve.js @@ -0,0 +1,39 @@ +/* +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` +*/ + +function one(n) { + function two(m) { + console.log(m ** n); + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); diff --git a/Challenge/HeejinKim/036.Multiplication_Table/README.md b/Challenge/HeejinKim/036.Multiplication_Table/README.md new file mode 100644 index 0000000..3691735 --- /dev/null +++ b/Challenge/HeejinKim/036.Multiplication_Table/README.md @@ -0,0 +1,10 @@ +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` \ No newline at end of file diff --git a/Challenge/HeejinKim/036.Multiplication_Table/solve.js b/Challenge/HeejinKim/036.Multiplication_Table/solve.js new file mode 100644 index 0000000..c3dc089 --- /dev/null +++ b/Challenge/HeejinKim/036.Multiplication_Table/solve.js @@ -0,0 +1,22 @@ +/* +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` +*/ + +let number = prompt("1~9까지의 숫자 중 하나를 입력해주세요"); +let output = []; + +for (let i = 1; i <= 9; i++) { + output.push(number * i); +} + +console.log(`입력 : ${number} +출력 : ${output.join(" ")}`); diff --git "a/Challenge/HeejinKim/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" "b/Challenge/HeejinKim/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" new file mode 100644 index 0000000..18cac02 --- /dev/null +++ "b/Challenge/HeejinKim/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" @@ -0,0 +1,11 @@ +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` \ No newline at end of file diff --git "a/Challenge/HeejinKim/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" "b/Challenge/HeejinKim/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" new file mode 100644 index 0000000..ed49ec8 --- /dev/null +++ "b/Challenge/HeejinKim/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" @@ -0,0 +1,28 @@ +/* +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` +*/ + +let people = prompt("후보를 입력해주세요").split(" "); +let result = {}; +let winner = ""; + +for (let i = 0; i < people.length; i++) { + let val = people[i]; + result[val] = result[val] === undefined ? 1 : (result[val] = result[val] + 1); +} + +winner = Object.keys(result).reduce(function (a, b) { + return result[a] > result[b] ? a : b; +}); + +console.log(`${winner}(이)가 총 ${result[winner]}표로 반장이 되었습니다`); diff --git "a/Challenge/HeejinKim/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" "b/Challenge/HeejinKim/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" new file mode 100644 index 0000000..36a32d4 --- /dev/null +++ "b/Challenge/HeejinKim/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" @@ -0,0 +1,13 @@ +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` \ No newline at end of file diff --git "a/Challenge/HeejinKim/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" "b/Challenge/HeejinKim/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" new file mode 100644 index 0000000..ad4b8b7 --- /dev/null +++ "b/Challenge/HeejinKim/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" @@ -0,0 +1,36 @@ +/* +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. +그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` +*/ + +let array = prompt("학생들의 점수를 공백으로 구분하여 입력해주세요").split(" "); + +array.sort((a, b) => b - a); + +let count = 0; +let result = []; + +for (let i = 0; i < array.length; i++) { + result.push(array[i]); + if (array[i] != array[i + 1]) { + count++; + } + if (count === 3) { + break; + } +} + +console.log(`입력 : ${array} +출력 : ${result.length}`); diff --git "a/Challenge/HeejinKim/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" "b/Challenge/HeejinKim/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" new file mode 100644 index 0000000..3b0af06 --- /dev/null +++ "b/Challenge/HeejinKim/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" @@ -0,0 +1,18 @@ +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +``` \ No newline at end of file diff --git "a/Challenge/HeejinKim/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" "b/Challenge/HeejinKim/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" new file mode 100644 index 0000000..8f70156 --- /dev/null +++ "b/Challenge/HeejinKim/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" @@ -0,0 +1,25 @@ +/* +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +``` +*/ + +let input = prompt('문장을 입력하세요') +let result = input.replaceAll('q', 'e') +console.log(`입력 : ${input} +출력 : ${result}`) \ No newline at end of file diff --git a/Challenge/HeejinKim/1.arry/README.md b/Challenge/HeejinKim/1.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/HeejinKim/1.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/HeejinKim/1.arry/solve.js b/Challenge/HeejinKim/1.arry/solve.js new file mode 100644 index 0000000..0424c3c --- /dev/null +++ b/Challenge/HeejinKim/1.arry/solve.js @@ -0,0 +1,7 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; + +nums.pop(); +nums.pop(); \ No newline at end of file diff --git a/Challenge/HeelaeLim/001.arry/README.md b/Challenge/HeelaeLim/001.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/HeelaeLim/001.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/HeelaeLim/001.arry/solve.js b/Challenge/HeelaeLim/001.arry/solve.js new file mode 100644 index 0000000..e1f4bf9 --- /dev/null +++ b/Challenge/HeelaeLim/001.arry/solve.js @@ -0,0 +1,9 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; + +nums.pop(); +nums.pop(); + +console.log(nums); \ No newline at end of file diff --git a/Challenge/HeelaeLim/002.arryMethd/README.md b/Challenge/HeelaeLim/002.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Challenge/HeelaeLim/002.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Problems/2.arryMethd/solve.js b/Challenge/HeelaeLim/002.arryMethd/solve.js similarity index 100% rename from Problems/2.arryMethd/solve.js rename to Challenge/HeelaeLim/002.arryMethd/solve.js diff --git a/Challenge/HeelaeLim/003.type/README.md b/Challenge/HeelaeLim/003.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/HeelaeLim/003.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/HeelaeLim/003.type/solve.js b/Challenge/HeelaeLim/003.type/solve.js new file mode 100644 index 0000000..cc736cc --- /dev/null +++ b/Challenge/HeelaeLim/003.type/solve.js @@ -0,0 +1,8 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof(arr)); + +//object \ No newline at end of file diff --git a/Challenge/HeelaeLim/004.type(2)/README.md b/Challenge/HeelaeLim/004.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/HeelaeLim/004.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/HeelaeLim/004.type(2)/solve.js b/Challenge/HeelaeLim/004.type(2)/solve.js new file mode 100644 index 0000000..090710f --- /dev/null +++ b/Challenge/HeelaeLim/004.type(2)/solve.js @@ -0,0 +1,6 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 2) 입력 : a = 2.22, 출력 : boolean +// 출력 : number diff --git a/Challenge/HeelaeLim/005.for/README.md b/Challenge/HeelaeLim/005.for/README.md new file mode 100644 index 0000000..e704b38 --- /dev/null +++ b/Challenge/HeelaeLim/005.for/README.md @@ -0,0 +1,20 @@ + +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); +``` + +1) 10 +2) 12 +3) 14 +4) 16 \ No newline at end of file diff --git a/Challenge/HeelaeLim/005.for/solve.js b/Challenge/HeelaeLim/005.for/solve.js new file mode 100644 index 0000000..e748689 --- /dev/null +++ b/Challenge/HeelaeLim/005.for/solve.js @@ -0,0 +1,18 @@ + +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); + +// 4) 16 + +// a = 10+1+3 = 14; b = 2; 따라서 a+b = 16; \ No newline at end of file diff --git a/Challenge/HeelaeLim/006.false/README.md b/Challenge/HeelaeLim/006.false/README.md new file mode 100644 index 0000000..66f6e1d --- /dev/null +++ b/Challenge/HeelaeLim/006.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Challenge/HeelaeLim/006.false/solve.js b/Challenge/HeelaeLim/006.false/solve.js new file mode 100644 index 0000000..f7c82a3 --- /dev/null +++ b/Challenge/HeelaeLim/006.false/solve.js @@ -0,0 +1,8 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + + +// 2) 1 +// 1, [], {} 등등은 true이다. \ No newline at end of file diff --git a/Challenge/HeelaeLim/007.variable/README.md b/Challenge/HeelaeLim/007.variable/README.md new file mode 100644 index 0000000..2002c44 --- /dev/null +++ b/Challenge/HeelaeLim/007.variable/README.md @@ -0,0 +1,9 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Challenge/HeelaeLim/007.variable/solve.js b/Challenge/HeelaeLim/007.variable/solve.js new file mode 100644 index 0000000..9058cf9 --- /dev/null +++ b/Challenge/HeelaeLim/007.variable/solve.js @@ -0,0 +1,9 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +3) let +5) 1age + +이미 존재하는 let은 변수로 사용할 수 없다. 숫자가 앞으로 오도록 변수명을 지을 수 없다.*/ \ No newline at end of file diff --git a/Challenge/HeelaeLim/008.object/README.md b/Challenge/HeelaeLim/008.object/README.md new file mode 100644 index 0000000..0e23154 --- /dev/null +++ b/Challenge/HeelaeLim/008.object/README.md @@ -0,0 +1,16 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Challenge/HeelaeLim/008.object/solve.js b/Challenge/HeelaeLim/008.object/solve.js new file mode 100644 index 0000000..3bc82ff --- /dev/null +++ b/Challenge/HeelaeLim/008.object/solve.js @@ -0,0 +1,18 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); + +뒤에오는 weight 값인 84를 출력한다. +*/ \ No newline at end of file diff --git a/Challenge/HeelaeLim/009.concat/README.md b/Challenge/HeelaeLim/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Challenge/HeelaeLim/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Challenge/HeelaeLim/009.concat/solve.js b/Challenge/HeelaeLim/009.concat/solve.js new file mode 100644 index 0000000..f39e267 --- /dev/null +++ b/Challenge/HeelaeLim/009.concat/solve.js @@ -0,0 +1,30 @@ +/* +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +*/ + +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = `${year}/${month}/${day} ${hour}:${minute}:${second}` +console.log(result); \ No newline at end of file diff --git a/Challenge/HeelaeLim/010.star/README.md b/Challenge/HeelaeLim/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Challenge/HeelaeLim/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Challenge/HeelaeLim/010.star/solve.js b/Challenge/HeelaeLim/010.star/solve.js new file mode 100644 index 0000000..fc91bf0 --- /dev/null +++ b/Challenge/HeelaeLim/010.star/solve.js @@ -0,0 +1,28 @@ +/* +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +*/ + +function star(num){ + for(let i=0; i 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/HeelaeLim/011.for/solve.js b/Challenge/HeelaeLim/011.for/solve.js new file mode 100644 index 0000000..5e2ac09 --- /dev/null +++ b/Challenge/HeelaeLim/011.for/solve.js @@ -0,0 +1,19 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +let s = 0; + +//pass + +console.log(s); +*/ + +let s = 0; + +for(let i = 1; i < 101; i++){ + s +=i; +} + +console.log(s); \ No newline at end of file diff --git a/Challenge/HeelaeLim/012.class/README.md b/Challenge/HeelaeLim/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Challenge/HeelaeLim/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Challenge/HeelaeLim/012.class/solve.js b/Challenge/HeelaeLim/012.class/solve.js new file mode 100644 index 0000000..f68cd53 --- /dev/null +++ b/Challenge/HeelaeLim/012.class/solve.js @@ -0,0 +1,33 @@ +/* +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +*/ + +class Wizard { + constructor(health, mana, armor){ + this.health = health; + this.mana = mana; + this.armor = armor; + } + + attack(){ + console.log("파이어볼") + } +} + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); \ No newline at end of file diff --git a/Challenge/HeelaeLim/013.find-planet/README.md b/Challenge/HeelaeLim/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Challenge/HeelaeLim/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Challenge/HeelaeLim/013.find-planet/solve.js b/Challenge/HeelaeLim/013.find-planet/solve.js new file mode 100644 index 0000000..97021ce --- /dev/null +++ b/Challenge/HeelaeLim/013.find-planet/solve.js @@ -0,0 +1,22 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ + +function planet_name(num){ + let planet = ['수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성'] + console.log(planet[num-1]); +} + +planet_name(1); \ No newline at end of file diff --git a/Challenge/HeelaeLim/014.if/README.md b/Challenge/HeelaeLim/014.if/README.md new file mode 100644 index 0000000..488df61 --- /dev/null +++ b/Challenge/HeelaeLim/014.if/README.md @@ -0,0 +1,17 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +```jsx +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +``` \ No newline at end of file diff --git a/Challenge/HeelaeLim/014.if/solve.js b/Challenge/HeelaeLim/014.if/solve.js new file mode 100644 index 0000000..ff56bd2 --- /dev/null +++ b/Challenge/HeelaeLim/014.if/solve.js @@ -0,0 +1,30 @@ +/* +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +*/ + +function three(num){ + if(num%3==0){ + console.log('짝'); + } + else{ + console.log(num); + } +} + +three(3); + +three(2); \ No newline at end of file diff --git a/Challenge/HeelaeLim/015.template _literals/README.md b/Challenge/HeelaeLim/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Challenge/HeelaeLim/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Challenge/HeelaeLim/015.template _literals/solve.js b/Challenge/HeelaeLim/015.template _literals/solve.js new file mode 100644 index 0000000..4ec9675 --- /dev/null +++ b/Challenge/HeelaeLim/015.template _literals/solve.js @@ -0,0 +1,20 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +*/ + +function introduce(){ + let Str = prompt(); + console.log(`안녕하세요. 저는 ${Str}입니다.`) +} + +introduce(); diff --git a/Challenge/HeelaeLim/016.reverse/README.md b/Challenge/HeelaeLim/016.reverse/README.md new file mode 100644 index 0000000..40b43f0 --- /dev/null +++ b/Challenge/HeelaeLim/016.reverse/README.md @@ -0,0 +1,10 @@ +# 문제16 : 로꾸꺼 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` \ No newline at end of file diff --git a/Challenge/HeelaeLim/016.reverse/solve.js b/Challenge/HeelaeLim/016.reverse/solve.js new file mode 100644 index 0000000..8ef6487 --- /dev/null +++ b/Challenge/HeelaeLim/016.reverse/solve.js @@ -0,0 +1,19 @@ +/* +# 문제16 : 로꾸꺼 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` +*/ + +function Upsidedown(){ + let Str = prompt(); + console.log(`${Str.split('').reverse().join('')}`) +} + +Upsidedown(); diff --git a/Challenge/HeelaeLim/017.if2/README.md b/Challenge/HeelaeLim/017.if2/README.md new file mode 100644 index 0000000..aa4559e --- /dev/null +++ b/Challenge/HeelaeLim/017.if2/README.md @@ -0,0 +1,16 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm이상만 탈 수 있습니다. + +입력으로 키가 주어지면 키가 150이 넘을 때 YES 아닐 때 NO를 출력하는 프로그램을 만드세요 + +```jsx +**입출력** + +입력 : 152 +출력 : YES + +입력 : 147 +출력 : NO +``` \ No newline at end of file diff --git a/Challenge/HeelaeLim/017.if2/solve.js b/Challenge/HeelaeLim/017.if2/solve.js new file mode 100644 index 0000000..7fe75ea --- /dev/null +++ b/Challenge/HeelaeLim/017.if2/solve.js @@ -0,0 +1,36 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm이상만 탈 수 있습니다. + +입력으로 키가 주어지면 키가 150이 넘을 때 YES 아닐 때 NO를 출력하는 프로그램을 만드세요 + +```jsx +**입출력** + +입력 : 152 +출력 : YES + +입력 : 147 +출력 : NO +``` +*/ + +function Check(){ + let Num = prompt(); + if(!isNaN(Num)){ + if(Num >= 150){ + console.log("YES") + } + else{ + console.log("NO") + } + } + else{ + console.log("Please enter your key.(only Number!)") + } +} + +Check(); + diff --git a/Challenge/HeelaeLim/018.average/README.md b/Challenge/HeelaeLim/018.average/README.md new file mode 100644 index 0000000..26dbf3a --- /dev/null +++ b/Challenge/HeelaeLim/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구둘의 평균점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` \ No newline at end of file diff --git a/Challenge/HeelaeLim/018.average/solve.js b/Challenge/HeelaeLim/018.average/solve.js new file mode 100644 index 0000000..b35e9f8 --- /dev/null +++ b/Challenge/HeelaeLim/018.average/solve.js @@ -0,0 +1,23 @@ +/* +# 문제18 : 평균점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구둘의 평균점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` +*/ + +function Average(){ + let Str = prompt(); + let arr = Str.split(' '); + return Math.floor(arr.reduce((x,y)=>(+x)+(+y))/arr.length); +} + +Average(); diff --git a/Challenge/HeelaeLim/019.Multiple/README.md b/Challenge/HeelaeLim/019.Multiple/README.md new file mode 100644 index 0000000..d54028e --- /dev/null +++ b/Challenge/HeelaeLim/019.Multiple/README.md @@ -0,0 +1,10 @@ +# 문제19 : 제곱을 구하자. + +공백으로 구분하여 두 숫자 a, b가 주어지면 a의 b승을 구하는 프로그램을 작성하세요 + +```jsx +**입출력** + +입력 : 2 3 +출력 : 8 +``` \ No newline at end of file diff --git a/Challenge/HeelaeLim/019.Multiple/solve.js b/Challenge/HeelaeLim/019.Multiple/solve.js new file mode 100644 index 0000000..ae84c49 --- /dev/null +++ b/Challenge/HeelaeLim/019.Multiple/solve.js @@ -0,0 +1,20 @@ +/* +# 문제19 : 제곱을 구하자. + +공백으로 구분하여 두 숫자 a, b가 주어지면 a의 b승을 구하는 프로그램을 작성하세요 + +```jsx +**입출력** + +입력 : 2 3 +출력 : 8 +``` +*/ + +function Involution(){ + let Str = prompt(); + let arr = Str.split(' '); + return Math.pow(arr[0], arr[1]); +} + +Involution(); diff --git a/Challenge/HeelaeLim/020.devide/README.md b/Challenge/HeelaeLim/020.devide/README.md new file mode 100644 index 0000000..cfb850a --- /dev/null +++ b/Challenge/HeelaeLim/020.devide/README.md @@ -0,0 +1,11 @@ +# 문제20 : 몫과 나머지. + +공백으로 구분하여 두 숫자가 주어집니다. +두 번째 숫자로 첫 번째 숫자를 나누었을 때 그 몫과 나머지를 공백으로 구분하여 출력하세요. + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` \ No newline at end of file diff --git a/Challenge/HeelaeLim/020.devide/solve.js b/Challenge/HeelaeLim/020.devide/solve.js new file mode 100644 index 0000000..456481e --- /dev/null +++ b/Challenge/HeelaeLim/020.devide/solve.js @@ -0,0 +1,21 @@ +/* +# 문제20 : 몫과 나머지. + +공백으로 구분하여 두 숫자가 주어집니다. +두 번째 숫자로 첫 번째 숫자를 나누었을 때 그 몫과 나머지를 공백으로 구분하여 출력하세요. + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` +*/ + +function Divide(){ + let Str = prompt(); + let arr = Str.split(' '); + console.log(`${arr[0]/arr[1]} ${arr[0]%arr[1]}`); +} + +Divide(); diff --git a/Challenge/HeelaeLim/021.Set/README.md b/Challenge/HeelaeLim/021.Set/README.md new file mode 100644 index 0000000..0e861c4 --- /dev/null +++ b/Challenge/HeelaeLim/021.Set/README.md @@ -0,0 +1,9 @@ +# 문제21 : Set + +다음 중 Set을 만드는 방법으로 올바른 것을 모두 고르시오 + +1) var x = {1,2,3,4,5,6,7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); \ No newline at end of file diff --git a/Challenge/HeelaeLim/021.Set/solve.js b/Challenge/HeelaeLim/021.Set/solve.js new file mode 100644 index 0000000..29bb7b5 --- /dev/null +++ b/Challenge/HeelaeLim/021.Set/solve.js @@ -0,0 +1,15 @@ +/* +# 문제21 : Set + +다음 중 Set을 만드는 방법으로 올바른 것을 모두 고르시오 + +1) var x = {1,2,3,4,5,6,7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); +*/ + +// 3) var x = new Set('javascript'); +// 5) var x = new Set(); +// 나머지는 답이 될 수 없다. diff --git a/Challenge/HeelaeLim/022.Multiple/README.md b/Challenge/HeelaeLim/022.Multiple/README.md new file mode 100644 index 0000000..b4dc05d --- /dev/null +++ b/Challenge/HeelaeLim/022.Multiple/README.md @@ -0,0 +1,10 @@ + +# 문제22 : Multiple + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i/6 == 0 +2) i%6 == 0 +3) i&6 == 0 +4) i|6 == 0 +5) i//6 == 0 \ No newline at end of file diff --git a/Challenge/HeelaeLim/022.Multiple/solve.js b/Challenge/HeelaeLim/022.Multiple/solve.js new file mode 100644 index 0000000..b3f91c0 --- /dev/null +++ b/Challenge/HeelaeLim/022.Multiple/solve.js @@ -0,0 +1,14 @@ +/* +# 문제22 : Multiple + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i/6 == 0 +2) i%6 == 0 +3) i&6 == 0 +4) i|6 == 0 +5) i//6 == 0 +*/ + +// 2) i%6 == 0 +// %를 통해 나머지를 구할 수 있다. diff --git a/Challenge/HeelaeLim/023.Calculate/README.md b/Challenge/HeelaeLim/023.Calculate/README.md new file mode 100644 index 0000000..a976653 --- /dev/null +++ b/Challenge/HeelaeLim/023.Calculate/README.md @@ -0,0 +1,4 @@ + +# 문제23 : Calculate + +console.log(10/3)의 출력 결과는 3이다. \ No newline at end of file diff --git a/Challenge/HeelaeLim/023.Calculate/solve.js b/Challenge/HeelaeLim/023.Calculate/solve.js new file mode 100644 index 0000000..c21f909 --- /dev/null +++ b/Challenge/HeelaeLim/023.Calculate/solve.js @@ -0,0 +1,7 @@ +/* +# 문제23 : Calculate + +console.log(10/3)의 출력 결과는 3이다. +*/ + +// 3.33333...이 나와야 한다. diff --git a/Challenge/HeelaeLim/024.Uppercase/README.md b/Challenge/HeelaeLim/024.Uppercase/README.md new file mode 100644 index 0000000..f649ced --- /dev/null +++ b/Challenge/HeelaeLim/024.Uppercase/README.md @@ -0,0 +1,12 @@ +# 문제24 : 대문자로 바꿔주세요 + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 소문자, 어떤 이는 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 이름이 입력되면 전부 대문자로 출력되는 프로그램을 만들어주세요. + +```jsx +**입출력** + +입력 : mary +출력 : MARY +``` \ No newline at end of file diff --git a/Challenge/HeelaeLim/024.Uppercase/solve.js b/Challenge/HeelaeLim/024.Uppercase/solve.js new file mode 100644 index 0000000..ac4c8b7 --- /dev/null +++ b/Challenge/HeelaeLim/024.Uppercase/solve.js @@ -0,0 +1,21 @@ +/* +# 문제24 : 대문자로 바꿔주세요 + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 소문자, 어떤 이는 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 이름이 입력되면 전부 대문자로 출력되는 프로그램을 만들어주세요. + +```jsx +**입출력** + +입력 : mary +출력 : MARY +``` +*/ + +function Upper(){ + let Str = prompt(); + console.log(Str.toUpperCase()); +} + +Upper(); diff --git a/Challenge/HeelaeLim/025.circle-area/README.md b/Challenge/HeelaeLim/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Challenge/HeelaeLim/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Challenge/HeelaeLim/025.circle-area/solve.js b/Challenge/HeelaeLim/025.circle-area/solve.js new file mode 100644 index 0000000..b8c1471 --- /dev/null +++ b/Challenge/HeelaeLim/025.circle-area/solve.js @@ -0,0 +1,16 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + +function circle_area(num){ + console.log(num**2*3.14); +} + +circle_area(5); + + + + \ No newline at end of file diff --git a/Challenge/HeelaeLim/026.find-planet2/README.md b/Challenge/HeelaeLim/026.find-planet2/README.md new file mode 100644 index 0000000..a5d41fe --- /dev/null +++ b/Challenge/HeelaeLim/026.find-planet2/README.md @@ -0,0 +1,8 @@ +# 문제 26: find-planet2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +**행성의 한글이름을 입력하면 영어 이름을 반환하는 프로그램**을 만들어 주세요. + + diff --git a/Challenge/HeelaeLim/026.find-planet2/solve.js b/Challenge/HeelaeLim/026.find-planet2/solve.js new file mode 100644 index 0000000..7ebdaf7 --- /dev/null +++ b/Challenge/HeelaeLim/026.find-planet2/solve.js @@ -0,0 +1,37 @@ +/* +# 문제 26: find-planet2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +**행성의 한글이름을 입력하면 영어 이름을 반환하는 프로그램**을 만들어 주세요. +*/ + +function Translate(){ + let Str = prompt(); + if(Str === "수성"){ + console.log("Mercury"); + }else if(Str === "금성"){ + console.log("Venus"); + }else if(Str === "지구"){ + console.log("Earth"); + }else if(Str === "화성"){ + console.log("Mars"); + }else if(Str === "목성"){ + console.log("Jupiter"); + }else if(Str === "토성"){ + console.log("Saturn"); + }else if(Str === "천왕성"){ + console.log("Uranus"); + }else if(Str === "해왕성"){ + console.log("Neptune"); + }else { + console.log("It is not a solar system planet") + } +} + +Translate(); + + + + \ No newline at end of file diff --git a/Challenge/HeelaeLim/027.object2/README.md b/Challenge/HeelaeLim/027.object2/README.md new file mode 100644 index 0000000..888462d --- /dev/null +++ b/Challenge/HeelaeLim/027.object2/README.md @@ -0,0 +1,7 @@ +# 문제 27: 객체 만들기 + +첫 번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두 번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해 주세요. + + diff --git a/Challenge/HeelaeLim/027.object2/solve.js b/Challenge/HeelaeLim/027.object2/solve.js new file mode 100644 index 0000000..2540f56 --- /dev/null +++ b/Challenge/HeelaeLim/027.object2/solve.js @@ -0,0 +1,19 @@ +/* +# 문제 27: 객체 만들기 + +첫 번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두 번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해 주세요. +*/ + +function Mathscore(){ + let input_name = prompt('이름을 입력해 주세요').split(' '); + let input_score = prompt('수학 점수를 입력해 주세요').split(' '); + let student_score = new Object; + for(let i=0; iinput[i+1]){ + error = !error + console.log('NO') + break; + } + } + + if(!error){ + console.log('YES') + } +} + +sort(); \ No newline at end of file diff --git a/Challenge/HeelaeLim/035.Factory/README.md b/Challenge/HeelaeLim/035.Factory/README.md new file mode 100644 index 0000000..79288c6 --- /dev/null +++ b/Challenge/HeelaeLim/035.Factory/README.md @@ -0,0 +1,22 @@ +# 문제 35: Factory 함수 사용하기 + +2제곱 3제곱 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```Javascript +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)) +console.log(b(10)) +console.log(c(10)) +``` \ No newline at end of file diff --git a/Challenge/HeelaeLim/035.Factory/solve.js b/Challenge/HeelaeLim/035.Factory/solve.js new file mode 100644 index 0000000..bcba30b --- /dev/null +++ b/Challenge/HeelaeLim/035.Factory/solve.js @@ -0,0 +1,39 @@ +/* +# 문제 35: Factory 함수 사용하기 + +2제곱 3제곱 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```Javascript +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)) +console.log(b(10)) +console.log(c(10)) +``` +*/ + +function one(n){ + function two(m){ + return Math.pow(m,n); + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)) +console.log(b(10)) +console.log(c(10)) \ No newline at end of file diff --git a/Challenge/HeelaeLim/036.MultiplationTable/README.md b/Challenge/HeelaeLim/036.MultiplationTable/README.md new file mode 100644 index 0000000..e2bd4d6 --- /dev/null +++ b/Challenge/HeelaeLim/036.MultiplationTable/README.md @@ -0,0 +1,6 @@ +# 문제 36: 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 \ No newline at end of file diff --git a/Challenge/HeelaeLim/036.MultiplationTable/solve.js b/Challenge/HeelaeLim/036.MultiplationTable/solve.js new file mode 100644 index 0000000..10c3cd5 --- /dev/null +++ b/Challenge/HeelaeLim/036.MultiplationTable/solve.js @@ -0,0 +1,19 @@ +/* +# 문제 36: 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +*/ + +function multipletable(){ + let input = prompt('숫자를 입력하세요') + let result = ''; + for(let i = 1; i< 10; i++){ + result += input*i + ' '; + } + console.log(result) +} + +multipletable() \ No newline at end of file diff --git a/Challenge/HeelaeLim/037.Erect/README.md b/Challenge/HeelaeLim/037.Erect/README.md new file mode 100644 index 0000000..95a6b11 --- /dev/null +++ b/Challenge/HeelaeLim/037.Erect/README.md @@ -0,0 +1,6 @@ +# 문제 37: 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +입력 : 원범 원범 혜원 혜원 혜원 혜원 유진 유진 +출력 : 혜원(이)가 총 4표로 반장이 되었습니다. \ No newline at end of file diff --git a/Challenge/HeelaeLim/037.Erect/solve.js b/Challenge/HeelaeLim/037.Erect/solve.js new file mode 100644 index 0000000..319c377 --- /dev/null +++ b/Challenge/HeelaeLim/037.Erect/solve.js @@ -0,0 +1,32 @@ +/* +# 문제 37: 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +입력 : 원범 원범 혜원 혜원 혜원 혜원 유진 유진 +출력 : 혜원(이)가 총 4표로 반장이 되었습니다. +*/ + +function countVotes(){ + let input = prompt('후보들을 입력하세요').split(' ').sort(); + let result = []; + for(let i = 0; i< input.length-1; i++){ + if(input[i] != input[i+1]){ + result.push(i+1); + } + } + result.push(input.length); + let count = [result[0]]; + for(let i =0; iinput[i+1]){ + count++ + } + if(count === 3){ + result = i+1; + break; + } + } + return result +} + +countCandy() \ No newline at end of file diff --git a/Challenge/HeelaeLim/039.Modification/README.md b/Challenge/HeelaeLim/039.Modification/README.md new file mode 100644 index 0000000..dd9b62c --- /dev/null +++ b/Challenge/HeelaeLim/039.Modification/README.md @@ -0,0 +1,13 @@ +# 문제 39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. 혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해주세요.** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon \ No newline at end of file diff --git a/Challenge/HeelaeLim/039.Modification/solve.js b/Challenge/HeelaeLim/039.Modification/solve.js new file mode 100644 index 0000000..a6d42df --- /dev/null +++ b/Challenge/HeelaeLim/039.Modification/solve.js @@ -0,0 +1,22 @@ +/* +# 문제 39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. 혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해주세요.** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +*/ + +function modificateError(){ + let input = prompt('문장을 입력하세요'); + return input.replaceAll('q', 'e'); +} + +modificateError() \ No newline at end of file diff --git a/Challenge/HeelaeLim/040.Ride/README.md b/Challenge/HeelaeLim/040.Ride/README.md new file mode 100644 index 0000000..5dbe42c --- /dev/null +++ b/Challenge/HeelaeLim/040.Ride/README.md @@ -0,0 +1,16 @@ +# 문제 40 : 놀이동산에 가자 + +테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한 번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다. + +**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.** + +첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. 그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다. + +입력: 50 + 5 + 20 + 20 + 20 + 20 + 20 +출력 : 2 diff --git a/Challenge/HeelaeLim/040.Ride/solve.js b/Challenge/HeelaeLim/040.Ride/solve.js new file mode 100644 index 0000000..41a6d03 --- /dev/null +++ b/Challenge/HeelaeLim/040.Ride/solve.js @@ -0,0 +1,44 @@ +/* +# 문제 40 : 놀이동산에 가자 + +테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한 번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다. + +**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.** + +첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. 그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다. + +입력: 50 + 5 + 20 + 20 + 20 + 20 + 20 +출력 : 2 +*/ + +function countPeople(){ + let limit = prompt('제한 무게를 입력하세요'); + let number = prompt('친구들이 몇 명인지 입력하세요'); + let weight = []; + for(let i =0; i limit){ + result = i; + break; + } + } + if(result === 0){ + return number; + } else{ + return result; + } +} + +countPeople() \ No newline at end of file diff --git a/Challenge/HeelaeLim/041.PrimeNumber/README.md b/Challenge/HeelaeLim/041.PrimeNumber/README.md new file mode 100644 index 0000000..894d736 --- /dev/null +++ b/Challenge/HeelaeLim/041.PrimeNumber/README.md @@ -0,0 +1,6 @@ +# 문제 41 : 소수판별 + +숫자가 주어지면 **소수인지 아닌지 판별하는 프로그램**을 작성해주세요. +소수이면 YES로, 소수가 아니면 NO로 출력해주세요. +(소수 : 1과 자기 자신만으로 나누어 떨어지는 1보다 큰 양의 정수) + diff --git a/Challenge/HeelaeLim/041.PrimeNumber/solve.js b/Challenge/HeelaeLim/041.PrimeNumber/solve.js new file mode 100644 index 0000000..cfb9982 --- /dev/null +++ b/Challenge/HeelaeLim/041.PrimeNumber/solve.js @@ -0,0 +1,20 @@ +/* +# 문제 41 : 소수판별 + +숫자가 주어지면 **소수인지 아닌지 판별하는 프로그램**을 작성해주세요. +소수이면 YES로, 소수가 아니면 NO로 출력해주세요. +(소수 : 1과 자기 자신만으로 나누어 떨어지는 1보다 큰 양의 정수) +*/ + +function primeNumber(){ + let number = prompt('숫자를 입력하세요'); + let result = 'YES'; + for(let i =2; i parseInt(a) + parseInt(b)); +} + +Sum(); diff --git a/Challenge/HeelaeLim/045.getTime/README.md b/Challenge/HeelaeLim/045.getTime/README.md new file mode 100644 index 0000000..9d04871 --- /dev/null +++ b/Challenge/HeelaeLim/045.getTime/README.md @@ -0,0 +1,5 @@ +# 문제 45 : getTime()함수 사용하기 + +Date객체의 메소드 중 하나인 getTime()은 1970년 1월 1일 0시 0분 0초 이후부터 지금까지 흐른 시간을 천분의 1초 단위(ms)로 반환합니다. + +이를 이용하여 **현재 연도(2022)를 출력해보세요** diff --git a/Challenge/HeelaeLim/045.getTime/solve.js b/Challenge/HeelaeLim/045.getTime/solve.js new file mode 100644 index 0000000..2b0f16f --- /dev/null +++ b/Challenge/HeelaeLim/045.getTime/solve.js @@ -0,0 +1,14 @@ +/* +# 문제 45 : getTime()함수 사용하기 + +Date객체의 메소드 중 하나인 getTime()은 1970년 1월 1일 0시 0분 0초 이후부터 지금까지 흐른 시간을 천분의 1초 단위(ms)로 반환합니다. + +이를 이용하여 **현재 연도(2022)를 출력해보세요** +*/ + +function Gettime() { + let date = new Date().getTime(); + return new Date(date).getFullYear(); +} + +Gettime(); diff --git a/Challenge/HeelaeLim/046.Sum2/README.md b/Challenge/HeelaeLim/046.Sum2/README.md new file mode 100644 index 0000000..4e0141c --- /dev/null +++ b/Challenge/HeelaeLim/046.Sum2/README.md @@ -0,0 +1,5 @@ +# 문제 46 : 각 자리수의 합 2 + +1부터 20까지의(20을 포함) 모든 숫자를 일렬로 놓고 모든 자릿수의 총 합을 구하세요. + +예를 들어 10부터 15까지의 모든 숫자를 일렬로 놓으면 101112131415이고 각자리의 숫자를 더하면 21입니다. diff --git a/Challenge/HeelaeLim/046.Sum2/solve.js b/Challenge/HeelaeLim/046.Sum2/solve.js new file mode 100644 index 0000000..ad1f18e --- /dev/null +++ b/Challenge/HeelaeLim/046.Sum2/solve.js @@ -0,0 +1,19 @@ +/* +# 문제 46 : 각 자리수의 합 2 + +1부터 20까지의(20을 포함) 모든 숫자를 일렬로 놓고 모든 자릿수의 총 합을 구하세요. + +예를 들어 10부터 15까지의 모든 숫자를 일렬로 놓으면 101112131415이고 각자리의 숫자를 더하면 21입니다. +*/ + +function Sum2() { + let hey = new Array(20); + return hey + .fill(1) + .map((x, i) => x + i) + .reduce((x, y) => x.toString() + y.toString()) + .split("") + .reduce((x, y) => parseInt(x) + parseInt(y)); +} + +Sum2(); diff --git a/Challenge/HeelaeLim/047.SetApply/README.md b/Challenge/HeelaeLim/047.SetApply/README.md new file mode 100644 index 0000000..2cf1fc4 --- /dev/null +++ b/Challenge/HeelaeLim/047.SetApply/README.md @@ -0,0 +1,18 @@ +# 문제 46 : 각 자리수의 합 2 + +바울랩에서는 3월 29일 제주대학교에서 '제주 빅데이터 사회혁신 해커톤' 행사를 주최하게 되었습니다. 이에 구글 설문지를 배포하였으나 제주대학생들이 중복해서 n개씩 설문지를 제출하였습니다. +**중복된 데이터들을 삭제하여 실제 접수 명단이 몇 명인지 알고 싶습니다.** + +아래 주어진 데이터들로부터 중복을 제거하여 **실제 접수 인원**을 출력해 주세요. + +```javaScript +const people = { + 이호준: "01050442903", + 이호상: "01051442904", + 이준호: "01050342904", + 이호준: "01050442903", + 이준: "01050412904", + 이호: "01050443904", + 이호준: "01050442903" +}; +``` diff --git a/Challenge/HeelaeLim/047.SetApply/solve.js b/Challenge/HeelaeLim/047.SetApply/solve.js new file mode 100644 index 0000000..d7a1a0e --- /dev/null +++ b/Challenge/HeelaeLim/047.SetApply/solve.js @@ -0,0 +1,36 @@ +/* +# 문제 46 : 각 자리수의 합 2 + +바울랩에서는 3월 29일 제주대학교에서 '제주 빅데이터 사회혁신 해커톤' 행사를 주최하게 되었습니다. 이에 구글 설문지를 배포하였으나 제주대학생들이 중복해서 n개씩 설문지를 제출하였습니다. +**중복된 데이터들을 삭제하여 실제 접수 명단이 몇 명인지 알고 싶습니다.** + +아래 주어진 데이터들로부터 중복을 제거하여 **실제 접수 인원**을 출력해 주세요. + +```javaScript +const people = { + 이호준: "01050442903", + 이호상: "01051442904", + 이준호: "01050342904", + 이호준: "01050442903", + 이준: "01050412904", + 이호: "01050443904", + 이호준: "01050442903" +}; +``` +*/ + +function SetApply() { + const people = { + 이호준: "01050442903", + 이호상: "01051442904", + 이준호: "01050342904", + 이호준: "01050442903", + 이준: "01050412904", + 이호: "01050443904", + 이호준: "01050442903", + }; + let setapply = new Set(Object.keys(people)); + return setapply.size; +} + +SetApply(); diff --git a/Challenge/HeelaeLim/048.Change/README.md b/Challenge/HeelaeLim/048.Change/README.md new file mode 100644 index 0000000..272f203 --- /dev/null +++ b/Challenge/HeelaeLim/048.Change/README.md @@ -0,0 +1,8 @@ +# 문제48 : 대소문자 바꿔서 출력하기 + +문자열이 주어지면 대문자와 소문자를 바꿔서 출력하는 프로그램을 작성하세요. + +입출력 + +입력 : AAABBBcccddd +출력 : aaabbbCCCDDD diff --git a/Challenge/HeelaeLim/048.Change/solve.js b/Challenge/HeelaeLim/048.Change/solve.js new file mode 100644 index 0000000..ef51680 --- /dev/null +++ b/Challenge/HeelaeLim/048.Change/solve.js @@ -0,0 +1,25 @@ +/* +# 문제48 : 대소문자 바꿔서 출력하기 + +문자열이 주어지면 대문자와 소문자를 바꿔서 출력하는 프로그램을 작성하세요. + +입출력 + +입력 : AAABBBcccddd +출력 : aaabbbCCCDDD + +*/ + +function Change() { + let String = prompt("문자열을 입력해주세요.").split(""); + for (let i = 0; i < String.length; i++) { + if (String[i] === String[i].toUpperCase()) { + String[i] = String[i].toLowerCase(); + } else { + String[i] = String[i].toUpperCase(); + } + } + return String.reduce((a, b) => a + b); +} + +Change(); diff --git a/Challenge/HeelaeLim/049.Max/README.md b/Challenge/HeelaeLim/049.Max/README.md new file mode 100644 index 0000000..c2dd703 --- /dev/null +++ b/Challenge/HeelaeLim/049.Max/README.md @@ -0,0 +1,8 @@ +# 문제49 : 최댓값 구하기 + +순서가 없는 10개의 숫자가 공백으로 구분되어 주어진다. 주어진 숫자들 중 최댓값을 반환하라. + +입출력 + +입력 : 10 9 8 7 6 5 4 3 2 1 +출력 : 10 diff --git a/Challenge/HeelaeLim/049.Max/solve.js b/Challenge/HeelaeLim/049.Max/solve.js new file mode 100644 index 0000000..27306c9 --- /dev/null +++ b/Challenge/HeelaeLim/049.Max/solve.js @@ -0,0 +1,17 @@ +/* +# 문제49 : 최댓값 구하기 + +순서가 없는 10개의 숫자가 공백으로 구분되어 주어진다. 주어진 숫자들 중 최댓값을 반환하라. + +입출력 + +입력 : 10 9 8 7 6 5 4 3 2 1 +출력 : 10 +*/ + +function Max() { + let Number = prompt("숫자를 입력해주세요").split(" "); + return Math.max(...Number); +} + +Max(); diff --git a/Challenge/HeelaeLim/050.BubbleSort/README.md b/Challenge/HeelaeLim/050.BubbleSort/README.md new file mode 100644 index 0000000..e946812 --- /dev/null +++ b/Challenge/HeelaeLim/050.BubbleSort/README.md @@ -0,0 +1,26 @@ +# 문제50 : 버블정렬 구현하기 + +버블정렬은 두 인접한 원소를 검사하여 정렬하는 방법을 말합니다. 시간 복잡도는 느리지만 코드가 단순하기 때문에 자주 사용됩니다. + +아래 코드의 빈 칸을 채워 버블 정렬을 완성해 봅시다. + +```js +function bubble(arr) { + let result = arr.slice(); + + for (let i = 0; i < result.length - 1; i++) { + for (/*빈칸을 채워주세요.*/) { + if (result[j] > result[j + 1]) { + //빈칸을 채워주세요. + } + } + } + return result; +} + +const items = prompt('입력해주세요.').split(' ').map((n) => { + return parseInt(n, 10); +}); + +console.log(bubble(items)); +``` diff --git a/Challenge/HeelaeLim/050.BubbleSort/solve.js b/Challenge/HeelaeLim/050.BubbleSort/solve.js new file mode 100644 index 0000000..281bdd0 --- /dev/null +++ b/Challenge/HeelaeLim/050.BubbleSort/solve.js @@ -0,0 +1,51 @@ +/* +# 문제50 : 버블정렬 구현하기 + +버블정렬은 두 인접한 원소를 검사하여 정렬하는 방법을 말합니다. 시간 복잡도는 느리지만 코드가 단순하기 때문에 자주 사용됩니다. + +아래 코드의 빈 칸을 채워 버블 정렬을 완성해 봅시다. + +```js +function bubble(arr) { + let result = arr.slice(); + + for (let i = 0; i < result.length - 1; i++) { + for (빈칸을 채워주세요.) { + if (result[j] > result[j + 1]) { + 빈칸을 채워주세요. + } + } + } + return result; +} + +const items = prompt('입력해주세요.').split(' ').map((n) => { + return parseInt(n, 10); +}); + +console.log(bubble(items)); +``` +*/ + +function bubble(arr) { + let result = arr.slice(); + + for (let i = 0; i < result.length - 1; i++) { + for (let j = 0; j < result.length - i; j++) { + if (result[j] > result[j + 1]) { + let temp = result[j]; + result[j] = result[j + 1]; + result[j + 1] = temp; + } + } + } + return result; +} + +const items = prompt("입력해주세요.") + .split(" ") + .map((n) => { + return parseInt(n, 10); + }); + +console.log(bubble(items)); diff --git a/Challenge/HeelaeLim/051.MergeSort/README.md b/Challenge/HeelaeLim/051.MergeSort/README.md new file mode 100644 index 0000000..124cfcb --- /dev/null +++ b/Challenge/HeelaeLim/051.MergeSort/README.md @@ -0,0 +1,54 @@ +# 문제51 : merge sort를 만들어보자 + +병합정렬(merge sort)은 대표적인 정렬 알고리즘 중 하나로 다음과 같이 동작합니다. + +> 1. 리스트의 길이가 0 또는 1이면 이미 정렬된 것으로 본다. 그렇지 않은 경우에는 + +2. 정렬되지 않은 리스트를 절반으로 잘라 비슷한 크기의 두 부분 리스트로 나눈다. + +3. 각 부분 리스트를 재귀적으로 합병 정렬을 이용해 정렬한다. + +4. 두 부분 리스트를 다시 하나의 정렬된 리스트로 합병한다. + > + +출처 : 위키피디아 + +다음 코드의 빈칸을 채워 병합정렬을 완성해 봅시다. + +```js +function mergeSort(arr){ + if (arr.length <= 1){ + return arr; + } + + const mid = Math.floor(arr.length / 2); + const left = arr.slice(0,mid); + const right = arr.slice(mid); + + return merge(mergeSort(left), mergeSort(right)); +} + +function merge(left, right){ + let result = []; + + while (/*빈칸을 채워주세요*/ && /*빈칸을 채워주세요*/){ + if (/*빈칸을 채워주세요*/){ + result.push(left.shift()); + } else { + result.push(right.shift()); + } + } + while (left.length) { + /*빈칸을 채워주세요*/ + } + while (right.length) { + /*빈칸을 채워주세요*/ + } + + return result; +} + +const array = prompt('배열을 입력하세요').split(' ').map(n => parseInt(n, 10)); + +console.log(mergeSort(array)); +``` diff --git a/Challenge/HeelaeLim/051.MergeSort/solve.js b/Challenge/HeelaeLim/051.MergeSort/solve.js new file mode 100644 index 0000000..b6e4d31 --- /dev/null +++ b/Challenge/HeelaeLim/051.MergeSort/solve.js @@ -0,0 +1,93 @@ +/* +# 문제51 : merge sort를 만들어보자 + +병합정렬(merge sort)은 대표적인 정렬 알고리즘 중 하나로 다음과 같이 동작합니다. + +> 1. 리스트의 길이가 0 또는 1이면 이미 정렬된 것으로 본다. 그렇지 않은 경우에는 + +2. 정렬되지 않은 리스트를 절반으로 잘라 비슷한 크기의 두 부분 리스트로 나눈다. + +3. 각 부분 리스트를 재귀적으로 합병 정렬을 이용해 정렬한다. + +4. 두 부분 리스트를 다시 하나의 정렬된 리스트로 합병한다. + > + +출처 : 위키피디아 + +다음 코드의 빈칸을 채워 병합정렬을 완성해 봅시다. + +```js +function mergeSort(arr){ + if (arr.length <= 1){ + return arr; + } + + const mid = Math.floor(arr.length / 2); + const left = arr.slice(0,mid); + const right = arr.slice(mid); + + return merge(mergeSort(left), mergeSort(right)); +} + +function merge(left, right){ + let result = []; + + while (빈칸을 채워주세요 && 빈칸을 채워주세요){ + if (빈칸을 채워주세요){ + result.push(left.shift()); + } else { + result.push(right.shift()); + } + } + while (left.length) { + 빈칸을 채워주세요 + } + while (right.length) { + 빈칸을 채워주세요 + } + + return result; +} + +const array = prompt('배열을 입력하세요').split(' ').map(n => parseInt(n, 10)); + +console.log(mergeSort(array)); +``` + +*/ + +function mergeSort(arr){ + if (arr.length <= 1){ + return arr; + } + + const mid = Math.floor(arr.length / 2); + const left = arr.slice(0,mid); + const right = arr.slice(mid); + + return merge(mergeSort(left), mergeSort(right)); +} + +function merge(left, right){ + let result = []; + + while (left && right){ + if (left[0] < right[0]){ + result.push(left.shift()); + } else { + result.push(right.shift()); + } + } + while (left.length) { + result.push(left.shift()); + } + while (right.length) { + result.push(right.shift()); + } + + return result; +} + +const array = prompt('배열을 입력하세요').split(' ').map(n => parseInt(n, 10)); + +console.log(mergeSort(array)); diff --git a/Challenge/HeelaeLim/052.QuickSort/README.md b/Challenge/HeelaeLim/052.QuickSort/README.md new file mode 100644 index 0000000..44c6e86 --- /dev/null +++ b/Challenge/HeelaeLim/052.QuickSort/README.md @@ -0,0 +1,28 @@ +# 문제52 : quick sort + +다음 빈 칸을 채워 퀵 정렬을 완성해주세요. + +```js +function quickSort(arr){ + if (arr.length <= 1){ + return arr; + } + + const pivot = arr[0]; + const left = []; + const right = []; + + for (let i=1; i parseInt(n, 10)); + +console.log(quickSort(array)); +``` diff --git a/Challenge/HeelaeLim/052.QuickSort/solve.js b/Challenge/HeelaeLim/052.QuickSort/solve.js new file mode 100644 index 0000000..e2d587a --- /dev/null +++ b/Challenge/HeelaeLim/052.QuickSort/solve.js @@ -0,0 +1,53 @@ +/* +# 문제52 : quick sort + +다음 빈 칸을 채워 퀵 정렬을 완성해주세요. + +```js +function quickSort(arr){ + if (arr.length <= 1){ + return arr; + } + + const pivot = arr[0]; + const left = []; + const right = []; + + for (let i=1; i parseInt(n, 10)); + +console.log(quickSort(array)); +``` +*/ + +function quickSort(arr){ + if (arr.length <= 1){ + return arr; + } + + const pivot = arr[0]; + const left = []; + const right = []; + + for (let i=1; i parseInt(n, 10)); + +console.log(quickSort(array)); diff --git a/Challenge/HeelaeLim/053.Parenthesis/README.md b/Challenge/HeelaeLim/053.Parenthesis/README.md new file mode 100644 index 0000000..7968cf0 --- /dev/null +++ b/Challenge/HeelaeLim/053.Parenthesis/README.md @@ -0,0 +1,8 @@ +# 문제53 : 괄호 문자열 + +괄호 문자열이란 괄호 기호인 '{', '}', '[', ']', '(', ')' 와 같은 것을 말한다. 그중 괄호의 모양이 바르게 구성된 문자열을 **바른 문자열**, 그렇지 않은 문자열을 **바르지 않은 문자열**이라 부르도록 하자. + +(())와 같은 문자열은 바른 문자열이지만 ()()) 와 같은 문자열은 바르지 않은 문자열이다. +(해당 문제에서는 소괄호만 판별하지만, 중괄호와 대괄호까지 판별해 보세요.) + +**입력으로 주어진 괄호 문자열이 바른 문자열인지 바르지 않은 문자열인지 "YES"와 "NO"로 구분된 문자열을 출력해보자.** diff --git a/Challenge/HeelaeLim/053.Parenthesis/solve.js b/Challenge/HeelaeLim/053.Parenthesis/solve.js new file mode 100644 index 0000000..b22b839 --- /dev/null +++ b/Challenge/HeelaeLim/053.Parenthesis/solve.js @@ -0,0 +1,66 @@ +/* + +# 문제53 : 괄호 문자열 + +괄호 문자열이란 괄호 기호인 '{', '}', '[', ']', '(', ')' 와 같은 것을 말한다. 그중 괄호의 모양이 바르게 구성된 문자열을 **바른 문자열**, 그렇지 않은 문자열을 **바르지 않은 문자열**이라 부르도록 하자. + +(())와 같은 문자열은 바른 문자열이지만 ()()) 와 같은 문자열은 바르지 않은 문자열이다. +(해당 문제에서는 소괄호만 판별하지만, 중괄호와 대괄호까지 판별해 보세요.) + +**입력으로 주어진 괄호 문자열이 바른 문자열인지 바르지 않은 문자열인지 "YES"와 "NO"로 구분된 문자열을 출력해보자.** + +*/ + +function DistinctionParenthesis(){ + const input = prompt('괄호 문자열을 입력하세요').split(''); + const small = input.filter((value) => value === "(" || value === ")"); + const medium = input.filter((value) => value === "{" || value === "}"); + const large = input.filter((value) => value === "[" || value === "]"); + if( small.length%2 === 1 || medium.length%2 === 1 || large.length%2 === 1 ){ + return "NO" + } else { + if( small[0] === ')' || medium[0] === '}' || large[0] === ']' ){ + return "NO" + } else if( small.filter((value) => value === ")").length !== small.length/2 || medium.filter((value) => value === "}").length !== medium.length/2 || large.filter((value) => value === "]").length !== large.length/2 ) { + return "NO" + } else { + let left = 0; + let right = 0; + for(let i = 0; i left){ + return "NO" + } + } + for(let i = 0; i left){ + return "NO" + } + } + for(let i = 0; i left){ + return "NO" + } + } + if(right === left){ + return "YES" + } + } + } +} + +DistinctionParenthesis(); \ No newline at end of file diff --git a/Challenge/Hyeonji/1.arry/README.md b/Challenge/Hyeonji/1.arry/README.md index d5088f4..3dd029e 100644 --- a/Challenge/Hyeonji/1.arry/README.md +++ b/Challenge/Hyeonji/1.arry/README.md @@ -2,4 +2,4 @@ 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. -var nums = [100, 200, 300, 400, 500]; \ No newline at end of file +var nums = [100, 200, 300, 400, 500]; diff --git a/Challenge/Hyeonji/1.arry/solve.js b/Challenge/Hyeonji/1.arry/solve.js index 7ffd8bd..d6efbd7 100644 --- a/Challenge/Hyeonji/1.arry/solve.js +++ b/Challenge/Hyeonji/1.arry/solve.js @@ -1,4 +1,43 @@ // # 문제1 : 배열의 삭제 // 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. -var nums = [100, 200, 300, 400, 500]; \ No newline at end of file +var nums = [100, 200, 300, 400, 500]; + +// 첫번째 방법 + +nums.splice(3); + +// 두번째 방법 + +let newNums = nums.reduce((newNums, num) => { + if (num !== 400 && num !== 500) { + newNums.push(num); + } + return newNums; +}, []); + +// 세번째 방법 + +nums.filter((num) => { + if (num !== 400 && num !== 500) { + return num; + } +}); + +// 네번째 방법 + +let newNums2 = []; + +for (num of nums) { + if (num !== 400 && num !== 500) { + newNums2.push(num); + } +} + +// 다섯번째 방법 + +for (let i = nums.length - 1; i > 0; i--) { + if (nums[i] === 400 || nums[i] === 500) { + nums.splice(i, 1); + } +} diff --git a/Challenge/Hyeonji/2.arryMethd/README.md b/Challenge/Hyeonji/2.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Challenge/Hyeonji/2.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/Hyeonji/2.arryMethd/solve.js b/Challenge/Hyeonji/2.arryMethd/solve.js new file mode 100644 index 0000000..4d065c5 --- /dev/null +++ b/Challenge/Hyeonji/2.arryMethd/solve.js @@ -0,0 +1,11 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +// 데이터 +var arr = [200, 100, 300]; +//pass +arr.splice(2, 0, 1000); +console.log(arr); +// 출력 +// [200, 100, 10000, 300] diff --git a/Challenge/Hyeonji/3.type/README.md b/Challenge/Hyeonji/3.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/Hyeonji/3.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/Hyeonji/3.type/solve.js b/Challenge/Hyeonji/3.type/solve.js new file mode 100644 index 0000000..06c7169 --- /dev/null +++ b/Challenge/Hyeonji/3.type/solve.js @@ -0,0 +1,13 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof arr); + +// 1) undefined +// 2) string +// 3) number +// 4) object + +// 답 = 4 diff --git a/Challenge/Hyeonji/4.type_2/README.md b/Challenge/Hyeonji/4.type_2/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/Hyeonji/4.type_2/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/Hyeonji/4.type_2/solve.js b/Challenge/Hyeonji/4.type_2/solve.js new file mode 100644 index 0000000..1276d8a --- /dev/null +++ b/Challenge/Hyeonji/4.type_2/solve.js @@ -0,0 +1,10 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 1) 입력 : a =1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object + +// 답 2 diff --git a/Challenge/Hyeonji/5.for/README.md b/Challenge/Hyeonji/5.for/README.md new file mode 100644 index 0000000..e704b38 --- /dev/null +++ b/Challenge/Hyeonji/5.for/README.md @@ -0,0 +1,20 @@ + +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); +``` + +1) 10 +2) 12 +3) 14 +4) 16 \ No newline at end of file diff --git a/Challenge/Hyeonji/5.for/solve.js b/Challenge/Hyeonji/5.for/solve.js new file mode 100644 index 0000000..0613d93 --- /dev/null +++ b/Challenge/Hyeonji/5.for/solve.js @@ -0,0 +1,20 @@ +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +jsx; +var a = 10; +var b = 2; + +for (var i = 1; i < 5; i += 2) { + a += i; +} + +console.log(a + b); + +// 1) 10 +// 2) 12 +// 3) 14 +// 4) 16 + +// 답 = 4 diff --git a/Challenge/Hyeonji/6.false/README.md b/Challenge/Hyeonji/6.false/README.md new file mode 100644 index 0000000..66f6e1d --- /dev/null +++ b/Challenge/Hyeonji/6.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Challenge/Hyeonji/6.false/solve.js b/Challenge/Hyeonji/6.false/solve.js new file mode 100644 index 0000000..fd39819 --- /dev/null +++ b/Challenge/Hyeonji/6.false/solve.js @@ -0,0 +1,12 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +// 1) NaN +// 2) 1 +// 3) "" +// 4) 0 +// 5) undefined + +// 정답 2번!!!!!! diff --git a/Challenge/Hyeonji/7.variable/README.md b/Challenge/Hyeonji/7.variable/README.md new file mode 100644 index 0000000..2002c44 --- /dev/null +++ b/Challenge/Hyeonji/7.variable/README.md @@ -0,0 +1,9 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Challenge/Hyeonji/7.variable/solve.js b/Challenge/Hyeonji/7.variable/solve.js new file mode 100644 index 0000000..359b9b1 --- /dev/null +++ b/Challenge/Hyeonji/7.variable/solve.js @@ -0,0 +1,13 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age +*/ + +// 답 3, 5 diff --git a/Challenge/Hyeonji/8.object/README.md b/Challenge/Hyeonji/8.object/README.md new file mode 100644 index 0000000..0e23154 --- /dev/null +++ b/Challenge/Hyeonji/8.object/README.md @@ -0,0 +1,16 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Challenge/Hyeonji/8.object/solve.js b/Challenge/Hyeonji/8.object/solve.js new file mode 100644 index 0000000..983ab0a --- /dev/null +++ b/Challenge/Hyeonji/8.object/solve.js @@ -0,0 +1,18 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +*/ + +// 답 : 84 diff --git a/Challenge/HyeonseopLee/003.type/README.md b/Challenge/HyeonseopLee/003.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/HyeonseopLee/003.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/HyeonseopLee/003.type/solve.js b/Challenge/HyeonseopLee/003.type/solve.js new file mode 100644 index 0000000..9989eef --- /dev/null +++ b/Challenge/HyeonseopLee/003.type/solve.js @@ -0,0 +1,13 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof(arr)); + +// 정답 : 4번 + +// 1) undefined +// 2) string +// 3) number +// 4) object \ No newline at end of file diff --git a/Challenge/HyeonseopLee/004.type(2)/README.md b/Challenge/HyeonseopLee/004.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/HyeonseopLee/004.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/HyeonseopLee/004.type(2)/solve.js b/Challenge/HyeonseopLee/004.type(2)/solve.js new file mode 100644 index 0000000..c781db2 --- /dev/null +++ b/Challenge/HyeonseopLee/004.type(2)/solve.js @@ -0,0 +1,10 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 정답 2번 + +// 1) 입력 : a =1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object \ No newline at end of file diff --git a/Challenge/HyeonseopLee/005.for/README.md b/Challenge/HyeonseopLee/005.for/README.md new file mode 100644 index 0000000..e704b38 --- /dev/null +++ b/Challenge/HyeonseopLee/005.for/README.md @@ -0,0 +1,20 @@ + +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); +``` + +1) 10 +2) 12 +3) 14 +4) 16 \ No newline at end of file diff --git a/Challenge/HyeonseopLee/005.for/solve.js b/Challenge/HyeonseopLee/005.for/solve.js new file mode 100644 index 0000000..8994db5 --- /dev/null +++ b/Challenge/HyeonseopLee/005.for/solve.js @@ -0,0 +1,21 @@ + +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); + +// 10 + 1 + 3 + 2 => 4번 + +// 1) 10 +// 2) 12 +// 3) 14 +// 4) 16 diff --git a/Challenge/HyeonseopLee/006.false/README.md b/Challenge/HyeonseopLee/006.false/README.md new file mode 100644 index 0000000..66f6e1d --- /dev/null +++ b/Challenge/HyeonseopLee/006.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Challenge/HyeonseopLee/006.false/solve.js b/Challenge/HyeonseopLee/006.false/solve.js new file mode 100644 index 0000000..ea6d7f0 --- /dev/null +++ b/Challenge/HyeonseopLee/006.false/solve.js @@ -0,0 +1,10 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. +// 2번 +// 1) NaN +// 2) 1 +// 3) "" +// 4) 0 +// 5) undefined \ No newline at end of file diff --git a/Challenge/HyeonseopLee/007.variable/README.md b/Challenge/HyeonseopLee/007.variable/README.md new file mode 100644 index 0000000..2002c44 --- /dev/null +++ b/Challenge/HyeonseopLee/007.variable/README.md @@ -0,0 +1,9 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Challenge/HyeonseopLee/007.variable/solve.js b/Challenge/HyeonseopLee/007.variable/solve.js new file mode 100644 index 0000000..71be327 --- /dev/null +++ b/Challenge/HyeonseopLee/007.variable/solve.js @@ -0,0 +1,11 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. +// 3번 5번 +1) age +2) Age +3) let +4) _age +5) 1age +*/ \ No newline at end of file diff --git a/Challenge/HyeonseopLee/008.object/README.md b/Challenge/HyeonseopLee/008.object/README.md new file mode 100644 index 0000000..0e23154 --- /dev/null +++ b/Challenge/HyeonseopLee/008.object/README.md @@ -0,0 +1,16 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Challenge/HyeonseopLee/008.object/solve.js b/Challenge/HyeonseopLee/008.object/solve.js new file mode 100644 index 0000000..dd2f59a --- /dev/null +++ b/Challenge/HyeonseopLee/008.object/solve.js @@ -0,0 +1,16 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. // 84 +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +*/ \ No newline at end of file diff --git a/Challenge/HyeonseopLee/009.concat/README.md b/Challenge/HyeonseopLee/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Challenge/HyeonseopLee/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Challenge/HyeonseopLee/009.concat/solve.js b/Challenge/HyeonseopLee/009.concat/solve.js new file mode 100644 index 0000000..b85a19b --- /dev/null +++ b/Challenge/HyeonseopLee/009.concat/solve.js @@ -0,0 +1,20 @@ +/* +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = year + '/' + month + '/' + day + ' ' + hour + ':' + minute + ':' + second + +console.log(result); + +**출력** +2019/04/26 11:34:27 +*/ \ No newline at end of file diff --git a/Challenge/HyeonseopLee/010.star/README.md b/Challenge/HyeonseopLee/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Challenge/HyeonseopLee/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Challenge/HyeonseopLee/010.star/solve.js b/Challenge/HyeonseopLee/010.star/solve.js new file mode 100644 index 0000000..471146f --- /dev/null +++ b/Challenge/HyeonseopLee/010.star/solve.js @@ -0,0 +1,29 @@ +/* +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +let star = function(n) { + for(let i=1; i <= n; i++) { + console.log(' '.repeat(n-i) + '*'.repeat(2*i - 1)) + } +} + +2n - 1 => 1, 3, 5, 7 +만약 2층이면 1층에서 1칸 2층에서 0칸 +만약 3층이면 1층에서 2칸 2층에서 1칸 +star(5) + +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +*/ \ No newline at end of file diff --git a/Challenge/HyeonseopLee/011.for/README.md b/Challenge/HyeonseopLee/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Challenge/HyeonseopLee/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/HyeonseopLee/011.for/solve.js b/Challenge/HyeonseopLee/011.for/solve.js new file mode 100644 index 0000000..9767926 --- /dev/null +++ b/Challenge/HyeonseopLee/011.for/solve.js @@ -0,0 +1,13 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +let s = 0; + +//pass +for(let i=1; i<=100; i++) { + s += i; +} +console.log(s); +*/ \ No newline at end of file diff --git a/Challenge/HyeonseopLee/012.class/README.md b/Challenge/HyeonseopLee/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Challenge/HyeonseopLee/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Challenge/HyeonseopLee/012.class/solve.js b/Challenge/HyeonseopLee/012.class/solve.js new file mode 100644 index 0000000..6dbeb62 --- /dev/null +++ b/Challenge/HyeonseopLee/012.class/solve.js @@ -0,0 +1,30 @@ +/* +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +**데이터** +<여기에 class를 작성하세요.> + +class Wizard { + constructor(health, mana, armor) { + this.health = health; + this.mana = mana; + this.armor = armor; + } + + attack() { + console.log("파이어볼"); + } +} + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +*/ + diff --git a/Challenge/HyeonseopLee/1.arry/solve.js b/Challenge/HyeonseopLee/1.arry/solve.js index 7ffd8bd..8a57a41 100644 --- a/Challenge/HyeonseopLee/1.arry/solve.js +++ b/Challenge/HyeonseopLee/1.arry/solve.js @@ -1,4 +1,8 @@ // # 문제1 : 배열의 삭제 // 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. -var nums = [100, 200, 300, 400, 500]; \ No newline at end of file +var nums = [100, 200, 300, 400, 500]; + +let result = nums.filter((e) => e != 400 && e != 500); + +console.log(result); \ No newline at end of file diff --git a/Challenge/HyeonseopLee/2.arryMethd/README.md b/Challenge/HyeonseopLee/2.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Challenge/HyeonseopLee/2.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/HyeonseopLee/2.arryMethd/solve.js b/Challenge/HyeonseopLee/2.arryMethd/solve.js new file mode 100644 index 0000000..747f8cb --- /dev/null +++ b/Challenge/HyeonseopLee/2.arryMethd/solve.js @@ -0,0 +1,12 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +// 데이터 +var arr = [200, 100, 300]; +//pass +arr.splice(2, 0, 10000); +console.log(arr); + +// 출력 +// [200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/JaejuneRyu/1.arry/README.md b/Challenge/JaejuneRyu/1.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/JaejuneRyu/1.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Problems/1.arry/solve.js b/Challenge/JaejuneRyu/1.arry/solve.js similarity index 100% rename from Problems/1.arry/solve.js rename to Challenge/JaejuneRyu/1.arry/solve.js diff --git a/Challenge/JihoonChae/025.circle-area/README.md b/Challenge/JihoonChae/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Challenge/JihoonChae/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Challenge/JihoonChae/025.circle-area/solve.js b/Challenge/JihoonChae/025.circle-area/solve.js new file mode 100644 index 0000000..f347219 --- /dev/null +++ b/Challenge/JihoonChae/025.circle-area/solve.js @@ -0,0 +1,12 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + +const n = prompt("원의 넓이는?"); +function getArea() { + return n ** 2 * 3.14; +} +console.log(getArea()); diff --git a/Challenge/JihoonChae/026.planets_2/README.md b/Challenge/JihoonChae/026.planets_2/README.md new file mode 100644 index 0000000..47a5079 --- /dev/null +++ b/Challenge/JihoonChae/026.planets_2/README.md @@ -0,0 +1,4 @@ +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +**행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램**을 만들어 주세요. \ No newline at end of file diff --git a/Challenge/JihoonChae/026.planets_2/solve.js b/Challenge/JihoonChae/026.planets_2/solve.js new file mode 100644 index 0000000..16f03fb --- /dev/null +++ b/Challenge/JihoonChae/026.planets_2/solve.js @@ -0,0 +1,19 @@ +// 우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +// 이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +// **행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램**을 만들어 주세요. + +const planets = { + '수성' : 'Mercury', + '금성' : 'Venus', + '지구' : 'Earth', + '화성' : 'Mars', + '목성' : 'Jupiter', + '토성' : 'Saturn', + '천왕성' : 'Uranus', + '해왕성' : 'Neptune', +}; + +const name = prompt("행성의 이름은?"); + +console.log(planets[name]); \ No newline at end of file diff --git a/Challenge/JihoonChae/027.object/README.md b/Challenge/JihoonChae/027.object/README.md new file mode 100644 index 0000000..9b83945 --- /dev/null +++ b/Challenge/JihoonChae/027.object/README.md @@ -0,0 +1,14 @@ +# 문제27 : 객체 만들기 + +첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +```jsx +**입력** +Yujin Hyewon +70 100 + +**출력** +{'Yujin': 70, 'Hyewon': 100} +``` \ No newline at end of file diff --git a/Challenge/JihoonChae/027.object/solve.js b/Challenge/JihoonChae/027.object/solve.js new file mode 100644 index 0000000..1eb5e3f --- /dev/null +++ b/Challenge/JihoonChae/027.object/solve.js @@ -0,0 +1,22 @@ +// # 문제27 : 객체 만들기 + +// 첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +// 두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + + +// **입력** +// Yujin Hyewon +// 70 100 + +// **출력** +// {'Yujin': 70, 'Hyewon': 100} + +const name = prompt('당신의 이름은?').split(' ') // 키 값이 들어가는 변수 +const score = prompt('당신의 점수는?').split(' ') // 값들을 넣어주는 변수 +const obj = {} + +for(i=0; i 78 \ No newline at end of file diff --git a/Challenge/JihyeChoo/009.concat/README.md b/Challenge/JihyeChoo/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Challenge/JihyeChoo/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Challenge/JihyeChoo/009.concat/solve.js b/Challenge/JihyeChoo/009.concat/solve.js new file mode 100644 index 0000000..2d9b7af --- /dev/null +++ b/Challenge/JihyeChoo/009.concat/solve.js @@ -0,0 +1,23 @@ +/* +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +*/ + +let result = year.concat('/', month, '/', day, ' ', hour, ':', minute, ':', second); +console.log(result); \ No newline at end of file diff --git a/Challenge/JihyeChoo/010.star/README.md b/Challenge/JihyeChoo/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Challenge/JihyeChoo/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Challenge/JihyeChoo/010.star/solve.js b/Challenge/JihyeChoo/010.star/solve.js new file mode 100644 index 0000000..32503f4 --- /dev/null +++ b/Challenge/JihyeChoo/010.star/solve.js @@ -0,0 +1,34 @@ +/* +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +*/ + +function treeMake(num) { + let tree=''; + for (let i = 1; i <= num; i++) { + for (let j = 1; j <= num-i; j++) { + tree+=' '; + } + for (let k = 1; k <= 2*i-1; k++) { + tree+='*'; + } + tree+='\n'; + } + console.log(tree); +} + +treeMake(prompt('트리의 단 수를 정해주세요.')); \ No newline at end of file diff --git a/Challenge/JihyeChoo/011.for/README.md b/Challenge/JihyeChoo/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Challenge/JihyeChoo/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/JihyeChoo/011.for/solve.js b/Challenge/JihyeChoo/011.for/solve.js new file mode 100644 index 0000000..639c59a --- /dev/null +++ b/Challenge/JihyeChoo/011.for/solve.js @@ -0,0 +1,20 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +let s = 0; + +//pass + +console.log(s); +*/ + + +let s = 0; + +for (let i = 1; i <= 100; i++) { + s += i; +} + +console.log(s); \ No newline at end of file diff --git a/Challenge/JihyeChoo/012.class/README.md b/Challenge/JihyeChoo/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Challenge/JihyeChoo/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Challenge/JihyeChoo/012.class/solve.js b/Challenge/JihyeChoo/012.class/solve.js new file mode 100644 index 0000000..f46d196 --- /dev/null +++ b/Challenge/JihyeChoo/012.class/solve.js @@ -0,0 +1,33 @@ +/* +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +*/ + +const Wizard = class Wizard{ + constructor(health, mana, armor){ + this.health = health; + this.mana = mana; + this.armor = armor; + } + attack(){ + console.log('파이어볼'); + } +} + + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); \ No newline at end of file diff --git a/Challenge/JihyeChoo/013.find-planet/README.md b/Challenge/JihyeChoo/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Challenge/JihyeChoo/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Challenge/JihyeChoo/013.find-planet/solve.js b/Challenge/JihyeChoo/013.find-planet/solve.js new file mode 100644 index 0000000..eda9b45 --- /dev/null +++ b/Challenge/JihyeChoo/013.find-planet/solve.js @@ -0,0 +1,29 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ + +function 태양계위치(num) { + const 태양계 = ['수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성']; + + if(num <= 태양계.length){ + let index = parseInt(num)-1; + alert(`${num}번째 행성은 ${태양계[index]}입니다.`) + }else if(num <0 || num > 태양계.length){ + alert('잘못된 숫자입니다.'); + 태양계위치(prompt('1~8까지의 숫자를 입력하면 해당 행성을 알려드립니다.')); + } +} + +태양계위치(prompt('1~8까지의 숫자를 입력하면 해당 행성을 알려드립니다.')); diff --git a/Challenge/JihyeChoo/014.if/README.md b/Challenge/JihyeChoo/014.if/README.md new file mode 100644 index 0000000..488df61 --- /dev/null +++ b/Challenge/JihyeChoo/014.if/README.md @@ -0,0 +1,17 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +```jsx +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +``` \ No newline at end of file diff --git a/Challenge/JihyeChoo/014.if/solve.js b/Challenge/JihyeChoo/014.if/solve.js new file mode 100644 index 0000000..504bc25 --- /dev/null +++ b/Challenge/JihyeChoo/014.if/solve.js @@ -0,0 +1,28 @@ +/* +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +*/ + +function three(num) { + num = +num; + if(num ===0 || num % 3 !== 0){ + return console.log(num); + }else{ + return console.log('짝'); + } +} + +three(prompt('랜덤으로 아무 숫자나 입력하세요')); diff --git a/Challenge/JihyeChoo/015.template _literals/README.md b/Challenge/JihyeChoo/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Challenge/JihyeChoo/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Challenge/JihyeChoo/015.template _literals/solve.js b/Challenge/JihyeChoo/015.template _literals/solve.js new file mode 100644 index 0000000..6482d09 --- /dev/null +++ b/Challenge/JihyeChoo/015.template _literals/solve.js @@ -0,0 +1,19 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +*/ + +function introduce(name) { + return console.log(`안녕하세요. 저는 ${name}입니다.`); +} + +introduce(prompt('이름을 입력하세요.')); \ No newline at end of file diff --git "a/Challenge/JihyeChoo/016.\353\241\234\352\276\270\352\272\274/README.md" "b/Challenge/JihyeChoo/016.\353\241\234\352\276\270\352\272\274/README.md" new file mode 100644 index 0000000..6528a39 --- /dev/null +++ "b/Challenge/JihyeChoo/016.\353\241\234\352\276\270\352\272\274/README.md" @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git "a/Challenge/JihyeChoo/016.\353\241\234\352\276\270\352\272\274/solve.js" "b/Challenge/JihyeChoo/016.\353\241\234\352\276\270\352\272\274/solve.js" new file mode 100644 index 0000000..e6793f6 --- /dev/null +++ "b/Challenge/JihyeChoo/016.\353\241\234\352\276\270\352\272\274/solve.js" @@ -0,0 +1,13 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +*/ + +const word = prompt('단어를 입력하세요').split(''); +const result = word.reverse().join(); +console.log(result); \ No newline at end of file diff --git a/Challenge/JihyeChoo/017.limit/README.md b/Challenge/JihyeChoo/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Challenge/JihyeChoo/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Challenge/JihyeChoo/017.limit/solve.js b/Challenge/JihyeChoo/017.limit/solve.js new file mode 100644 index 0000000..7f2546d --- /dev/null +++ b/Challenge/JihyeChoo/017.limit/solve.js @@ -0,0 +1,12 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. +*/ + +const user = prompt('키를 입력하세요.'); +(user >= 150)?console.log('YES'):console.log('NO'); \ No newline at end of file diff --git a/Challenge/JihyeChoo/018.average/README.md b/Challenge/JihyeChoo/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Challenge/JihyeChoo/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Challenge/JihyeChoo/018.average/solve.js b/Challenge/JihyeChoo/018.average/solve.js new file mode 100644 index 0000000..9a466f2 --- /dev/null +++ b/Challenge/JihyeChoo/018.average/solve.js @@ -0,0 +1,18 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 + +*/ + +const socores = prompt('국어 수학 영어 점수를 공백으로 구분하여 작성하시요.').split(' '); +const result = Math.floor(socores.reduce((pre,cur)=>pre = pre + +cur,0) / 3); +console.log(result); \ No newline at end of file diff --git a/Challenge/JihyeChoo/019.square/README.md b/Challenge/JihyeChoo/019.square/README.md new file mode 100644 index 0000000..e02a30a --- /dev/null +++ b/Challenge/JihyeChoo/019.square/README.md @@ -0,0 +1,3 @@ +문제19 : 제곱을 구하자 + +공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. \ No newline at end of file diff --git a/Challenge/JihyeChoo/019.square/solve.js b/Challenge/JihyeChoo/019.square/solve.js new file mode 100644 index 0000000..df9a9a4 --- /dev/null +++ b/Challenge/JihyeChoo/019.square/solve.js @@ -0,0 +1,6 @@ +// 문제19 : 제곱을 구하자 + +// 공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. + +const [a, b] = prompt('숫자').split(' '); +Math.pow(+a, +b); \ No newline at end of file diff --git a/Challenge/JihyeChoo/020.share-remainder/README.md b/Challenge/JihyeChoo/020.share-remainder/README.md new file mode 100644 index 0000000..91c7d9c --- /dev/null +++ b/Challenge/JihyeChoo/020.share-remainder/README.md @@ -0,0 +1,11 @@ +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` \ No newline at end of file diff --git a/Challenge/JihyeChoo/020.share-remainder/solve.js b/Challenge/JihyeChoo/020.share-remainder/solve.js new file mode 100644 index 0000000..a39f84b --- /dev/null +++ b/Challenge/JihyeChoo/020.share-remainder/solve.js @@ -0,0 +1,14 @@ +/* +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +**입출력** + +입력 : 10 2 +출력 : 5 0 +*/ + +const [a, b] = prompt('숫자').split(' '); +console.log(Math.floor(+a / +b)+' '+(+a % +b)); \ No newline at end of file diff --git a/Challenge/JihyeChoo/021.set/README.md b/Challenge/JihyeChoo/021.set/README.md new file mode 100644 index 0000000..255a239 --- /dev/null +++ b/Challenge/JihyeChoo/021.set/README.md @@ -0,0 +1,9 @@ +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); \ No newline at end of file diff --git a/Challenge/JihyeChoo/021.set/solve.js b/Challenge/JihyeChoo/021.set/solve.js new file mode 100644 index 0000000..d8b2c92 --- /dev/null +++ b/Challenge/JihyeChoo/021.set/solve.js @@ -0,0 +1,13 @@ +/* +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); <----- 정답 +4) var x = new Set(range(5)); +5) var x = new Set(); <----- 정답 +*/ + +// 정답 : 3번, 5번 \ No newline at end of file diff --git a/Challenge/JihyeChoo/022.multiple/README.md b/Challenge/JihyeChoo/022.multiple/README.md new file mode 100644 index 0000000..b4d74cc --- /dev/null +++ b/Challenge/JihyeChoo/022.multiple/README.md @@ -0,0 +1,9 @@ +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 \ No newline at end of file diff --git a/Challenge/JihyeChoo/022.multiple/solve.js b/Challenge/JihyeChoo/022.multiple/solve.js new file mode 100644 index 0000000..8381c02 --- /dev/null +++ b/Challenge/JihyeChoo/022.multiple/solve.js @@ -0,0 +1,13 @@ +/* +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 <----- 정답 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 +*/ + +// 정답: 2번 \ No newline at end of file diff --git a/Challenge/JihyeChoo/023.OX/README.md b/Challenge/JihyeChoo/023.OX/README.md new file mode 100644 index 0000000..47e0046 --- /dev/null +++ b/Challenge/JihyeChoo/023.OX/README.md @@ -0,0 +1,3 @@ +# 문제23 : OX문제 + +`console.log(10/3)`의 출력 결과는 **3**이다. \ No newline at end of file diff --git a/Challenge/JihyeChoo/023.OX/solve.js b/Challenge/JihyeChoo/023.OX/solve.js new file mode 100644 index 0000000..b930620 --- /dev/null +++ b/Challenge/JihyeChoo/023.OX/solve.js @@ -0,0 +1,6 @@ +// # 문제23: OX문제 + +// `console.log(10/3)`의 출력 결과는 ** 3 ** 이다. + +// 아니다. +// 3.33333333333335 로 나오며 나누기는 소수점까지 나온다 diff --git a/Challenge/JihyeChoo/024.toUpperCase/README.md b/Challenge/JihyeChoo/024.toUpperCase/README.md new file mode 100644 index 0000000..a5e5142 --- /dev/null +++ b/Challenge/JihyeChoo/024.toUpperCase/README.md @@ -0,0 +1,12 @@ +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +```jsx +**입출력** + +입력 : mary +출력 : MARY +``` \ No newline at end of file diff --git a/Challenge/JihyeChoo/024.toUpperCase/solve.js b/Challenge/JihyeChoo/024.toUpperCase/solve.js new file mode 100644 index 0000000..068539b --- /dev/null +++ b/Challenge/JihyeChoo/024.toUpperCase/solve.js @@ -0,0 +1,15 @@ +/* +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +**입출력** + +입력 : mary +출력 : MARY +*/ + +const name = prompt('이름을 입력해주세요').toUpperCase(); +console.log(name); \ No newline at end of file diff --git a/Challenge/JihyeChoo/025.circle-area/README.md b/Challenge/JihyeChoo/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Challenge/JihyeChoo/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Challenge/JihyeChoo/025.circle-area/solve.js b/Challenge/JihyeChoo/025.circle-area/solve.js new file mode 100644 index 0000000..1d3f899 --- /dev/null +++ b/Challenge/JihyeChoo/025.circle-area/solve.js @@ -0,0 +1,13 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + +const r = prompt('반지름 길이') +function circle(r){ + return (r**2) * 3.14 +} + +console.log(circle(r)); \ No newline at end of file diff --git a/Challenge/JihyeChoo/026.planet_2/README.md b/Challenge/JihyeChoo/026.planet_2/README.md new file mode 100644 index 0000000..678e82a --- /dev/null +++ b/Challenge/JihyeChoo/026.planet_2/README.md @@ -0,0 +1,6 @@ +# 문제26 : 행성 문제2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git a/Challenge/JihyeChoo/026.planet_2/solve.js b/Challenge/JihyeChoo/026.planet_2/solve.js new file mode 100644 index 0000000..361e85f --- /dev/null +++ b/Challenge/JihyeChoo/026.planet_2/solve.js @@ -0,0 +1,19 @@ +// 문제26 : 행성 문제2 + +// 우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +// 이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +const planets={ + '수성':'Mercury', + '금성':'Venus', + '지구':'Earth', + '화성':'Mars', + '목성':'Jupiter', + '토성':'Saturn', + '천왕성':'Uranus', + '해왕성':'Neptune', +}; + +let korName=prompt('수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성 중 하나를 입력하면 영어 이름을 알려드립니다.').trim(); + +alert(planets[korName]); \ No newline at end of file diff --git a/Challenge/JihyeChoo/027.object/README.md b/Challenge/JihyeChoo/027.object/README.md new file mode 100644 index 0000000..9b83945 --- /dev/null +++ b/Challenge/JihyeChoo/027.object/README.md @@ -0,0 +1,14 @@ +# 문제27 : 객체 만들기 + +첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +```jsx +**입력** +Yujin Hyewon +70 100 + +**출력** +{'Yujin': 70, 'Hyewon': 100} +``` \ No newline at end of file diff --git a/Challenge/JihyeChoo/027.object/solve.js b/Challenge/JihyeChoo/027.object/solve.js new file mode 100644 index 0000000..fa81fe9 --- /dev/null +++ b/Challenge/JihyeChoo/027.object/solve.js @@ -0,0 +1,23 @@ +// # 문제27 : 객체 만들기 + +// 첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +// 두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + + +// **입력** +// Yujin Hyewon +// 70 100 + +// **출력** +// {'Yujin': 70, 'Hyewon': 100} + +const userNames= prompt('이름 입력 여러명 공백 구분').split(' '); +const scores= prompt('점수 입력 여러명 공백 구분').split(' '); +const resultObj={}; + +for (let i = 0; i < userNames.length; i++) { + resultObj[userNames[i]] = scores[i]; +} + +console.log(resultObj); \ No newline at end of file diff --git a/Challenge/JihyeChoo/028.2-gram/README.md b/Challenge/JihyeChoo/028.2-gram/README.md new file mode 100644 index 0000000..3a0dfe1 --- /dev/null +++ b/Challenge/JihyeChoo/028.2-gram/README.md @@ -0,0 +1,23 @@ +# 문제28 : 2-gram + +**2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +```jsx +**입력** +Javascript + +**출력** +J a +a v +v a +a s +s c +c r +r i +i p +p t +``` + +입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. \ No newline at end of file diff --git a/Challenge/JihyeChoo/028.2-gram/solve.js b/Challenge/JihyeChoo/028.2-gram/solve.js new file mode 100644 index 0000000..dcff173 --- /dev/null +++ b/Challenge/JihyeChoo/028.2-gram/solve.js @@ -0,0 +1,29 @@ +// # 문제28 : 2-gram + +// **2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +// 예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + + +// **입력** +// Javascript + +// **출력** +// J a +// a v +// v a +// a s +// s c +// c r +// r i +// i p +// p t + + +// 입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. + +const word = prompt('문자를 입력하세요.').split(''); + +for (let i = 1; i < word.length; i++) { + console.log(`${word[i-1]} ${word[i]}`); +} \ No newline at end of file diff --git "a/Challenge/JihyeChoo/029.\353\214\200\353\254\270\354\236\220/README.md" "b/Challenge/JihyeChoo/029.\353\214\200\353\254\270\354\236\220/README.md" new file mode 100644 index 0000000..287a235 --- /dev/null +++ "b/Challenge/JihyeChoo/029.\353\214\200\353\254\270\354\236\220/README.md" @@ -0,0 +1,5 @@ +# 문제29 : 대문자만 지나가세요 + +진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git "a/Challenge/JihyeChoo/029.\353\214\200\353\254\270\354\236\220/solve.js" "b/Challenge/JihyeChoo/029.\353\214\200\353\254\270\354\236\220/solve.js" new file mode 100644 index 0000000..b0bd0d6 --- /dev/null +++ "b/Challenge/JihyeChoo/029.\353\214\200\353\254\270\354\236\220/solve.js" @@ -0,0 +1,8 @@ +// 문제29 : 대문자만 지나가세요 + +// 진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +// 알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. + +const alphabet = prompt('알파벳 대소문자 구분하여 하나만 입력'); +(alphabet === alphabet.toUpperCase())?console.log('YES'):console.log('NO'); diff --git a/Challenge/JihyeChoo/030.find-string/README.md b/Challenge/JihyeChoo/030.find-string/README.md new file mode 100644 index 0000000..b2f4ed6 --- /dev/null +++ b/Challenge/JihyeChoo/030.find-string/README.md @@ -0,0 +1,15 @@ +# 문제30 : 문자열 속 문자 찾기 + +문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +**그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +```jsx +**입력** +pineapple is yummy +apple + +**출력** +4 +``` \ No newline at end of file diff --git a/Challenge/JihyeChoo/030.find-string/solve.js b/Challenge/JihyeChoo/030.find-string/solve.js new file mode 100644 index 0000000..2df8ebd --- /dev/null +++ b/Challenge/JihyeChoo/030.find-string/solve.js @@ -0,0 +1,19 @@ +// # 문제30 : 문자열 속 문자 찾기 + +// 문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +// 첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +// **그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +// ```jsx +// **입력** +// pineapple is yummy +// apple + +// **출력** +// 4 +// ``` + +const pharse = prompt('문자열 입력'); +const word = prompt('찾을 단어 입력'); +console.log(pharse.indexOf(word)); \ No newline at end of file diff --git a/Challenge/JihyeChoo/031.timeComplexity/README.md b/Challenge/JihyeChoo/031.timeComplexity/README.md new file mode 100644 index 0000000..c10ae55 --- /dev/null +++ b/Challenge/JihyeChoo/031.timeComplexity/README.md @@ -0,0 +1,9 @@ +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() +4) arr.pop() +5) arr.includes(5) \ No newline at end of file diff --git a/Challenge/JihyeChoo/031.timeComplexity/solve.js b/Challenge/JihyeChoo/031.timeComplexity/solve.js new file mode 100644 index 0000000..da03d44 --- /dev/null +++ b/Challenge/JihyeChoo/031.timeComplexity/solve.js @@ -0,0 +1,11 @@ +/* +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() <--- 답 +4) arr.pop() +5) arr.includes(5) <--- 답 +*/ \ No newline at end of file diff --git "a/Challenge/JihyeChoo/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" "b/Challenge/JihyeChoo/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" new file mode 100644 index 0000000..53459f4 --- /dev/null +++ "b/Challenge/JihyeChoo/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" @@ -0,0 +1,13 @@ +# 문제32 : 문자열 만들기 + +취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +혜림이를 위해 **문자열을 입력받으면 단어의 갯수를 출력하는 프로그램**을 작성해 주세요. + +```jsx +**입력** +안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +**출력** +5 +``` diff --git "a/Challenge/JihyeChoo/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" "b/Challenge/JihyeChoo/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" new file mode 100644 index 0000000..a6d9741 --- /dev/null +++ "b/Challenge/JihyeChoo/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" @@ -0,0 +1,16 @@ +// # 문제32 : 문자열 만들기 + +// 취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +// 혜림이를 위해 문자열을 입력받으면 단어의 갯수를 출력하는 프로그램을 작성해 주세요. + +// ```jsx +// **입력** +// 안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +// **출력** +// 5 +// ``` + +const data = prompt('문자열을 입력하세요.').split(' '); +console.log(data.length); \ No newline at end of file diff --git a/Challenge/JihyeChoo/033.Reverse/README.md b/Challenge/JihyeChoo/033.Reverse/README.md new file mode 100644 index 0000000..7d450ce --- /dev/null +++ b/Challenge/JihyeChoo/033.Reverse/README.md @@ -0,0 +1,13 @@ +# 문제33 : 거꾸로 출력하기 + +한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +```jsx +**입출력** +입력 : 1 2 3 4 5 +출력 : 5 4 3 2 1 + +**출력** +입력 : 2 4 6 7 8 +출력 : 8 7 6 4 2 +``` diff --git a/Challenge/JihyeChoo/033.Reverse/solve.js b/Challenge/JihyeChoo/033.Reverse/solve.js new file mode 100644 index 0000000..d4cbaaa --- /dev/null +++ b/Challenge/JihyeChoo/033.Reverse/solve.js @@ -0,0 +1,16 @@ +// # 문제33 : 거꾸로 출력하기 + +// 한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +// ```jsx +// **입출력** +// 입력 : 1 2 3 4 5 +// 출력 : 5 4 3 2 1 + +// **출력** +// 입력 : 2 4 6 7 8 +// 출력 : 8 7 6 4 2 +// ``` + +const dataArr = prompt('숫자를 입력하세요.').split(' ').reverse().join(' '); +console.log(dataArr); \ No newline at end of file diff --git a/Challenge/JihyeChoo/034.Sort/README.md b/Challenge/JihyeChoo/034.Sort/README.md new file mode 100644 index 0000000..2d7e610 --- /dev/null +++ b/Challenge/JihyeChoo/034.Sort/README.md @@ -0,0 +1,15 @@ +# 문제34 : sort 구현하기 + +민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +(키는 공백으로 구분하여 입력됩니다.) + +```jsx +**입출력** +입력 : 176 156 155 165 166 169 +출력 : NO + +입력 : 155 156 165 166 169 176 +출력 : YES +``` diff --git a/Challenge/JihyeChoo/034.Sort/solve.js b/Challenge/JihyeChoo/034.Sort/solve.js new file mode 100644 index 0000000..ccf1e1c --- /dev/null +++ b/Challenge/JihyeChoo/034.Sort/solve.js @@ -0,0 +1,25 @@ +// # 문제34 : sort 구현하기 + +// 민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +// 민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +// (키는 공백으로 구분하여 입력됩니다.) + +// ```jsx +// **입출력** +// 입력 : 176 156 155 165 166 169 +// 출력 : NO + +// 입력 : 155 156 165 166 169 176 +// 출력 : YES +// ``` + +const data = prompt('키를 입력하세요').split(' '); +let result ='YES'; + +data.sort((a,b)=>{ + if(a에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` \ No newline at end of file diff --git a/Challenge/JihyeChoo/035.function/solve.js b/Challenge/JihyeChoo/035.function/solve.js new file mode 100644 index 0000000..2edeab3 --- /dev/null +++ b/Challenge/JihyeChoo/035.function/solve.js @@ -0,0 +1,24 @@ +/* +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. +*/ + +function one(n){ + function two(num){ + //pass + return num**n; + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); + diff --git a/Challenge/JihyeChoo/036.Multiplication_Table/README.md b/Challenge/JihyeChoo/036.Multiplication_Table/README.md new file mode 100644 index 0000000..3691735 --- /dev/null +++ b/Challenge/JihyeChoo/036.Multiplication_Table/README.md @@ -0,0 +1,10 @@ +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` \ No newline at end of file diff --git a/Challenge/JihyeChoo/036.Multiplication_Table/solve.js b/Challenge/JihyeChoo/036.Multiplication_Table/solve.js new file mode 100644 index 0000000..179cf26 --- /dev/null +++ b/Challenge/JihyeChoo/036.Multiplication_Table/solve.js @@ -0,0 +1,23 @@ +/* +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` +*/ +const num = prompt('1 ~ 9까지의 숫자 중 하나를 입력하세요.'); + +function 구구단(num){ + let result=''; + for (let i = 1; i < 10; i++) { + result += `${num*i} `; + } + return result; +} + +console.log(구구단(num)); \ No newline at end of file diff --git "a/Challenge/JihyeChoo/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" "b/Challenge/JihyeChoo/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" new file mode 100644 index 0000000..18cac02 --- /dev/null +++ "b/Challenge/JihyeChoo/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" @@ -0,0 +1,11 @@ +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` \ No newline at end of file diff --git "a/Challenge/JihyeChoo/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" "b/Challenge/JihyeChoo/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" new file mode 100644 index 0000000..48e00a4 --- /dev/null +++ "b/Challenge/JihyeChoo/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" @@ -0,0 +1,25 @@ +/* +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` +*/ +const data = prompt('이름을 입력해주세요.').split(' '); +const setData =new Set(data); +const objData={}; +let winner=''; + +setData.forEach((name)=>{ + objData[name]=data.filter((x)=>x===name).length; +}); + +winner = Object.keys(objData).reduce(function(a, b){ + return objData[a] > objData[b] ? a : b +}); \ No newline at end of file diff --git a/Challenge/JihyeChoo/1.arry/README.md b/Challenge/JihyeChoo/1.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/JihyeChoo/1.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/JihyeChoo/1.arry/solve.js b/Challenge/JihyeChoo/1.arry/solve.js new file mode 100644 index 0000000..2d5f3c9 --- /dev/null +++ b/Challenge/JihyeChoo/1.arry/solve.js @@ -0,0 +1,6 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; +nums.pop(); +nums.pop(); diff --git a/Challenge/JihyeChoo/2.arryMethd/README.md b/Challenge/JihyeChoo/2.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Challenge/JihyeChoo/2.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/JihyeChoo/2.arryMethd/solve.js b/Challenge/JihyeChoo/2.arryMethd/solve.js new file mode 100644 index 0000000..dafdfd5 --- /dev/null +++ b/Challenge/JihyeChoo/2.arryMethd/solve.js @@ -0,0 +1,13 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +// 데이터 +var arr = [200, 100, 300]; +arr.splice(-1,0,10000); + +console.log(arr); + +// 출력 +// [200, 100, 10000, 300] + diff --git a/Challenge/JihyeChoo/3.type/README.md b/Challenge/JihyeChoo/3.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/JihyeChoo/3.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/JihyeChoo/3.type/solve.js b/Challenge/JihyeChoo/3.type/solve.js new file mode 100644 index 0000000..4a05ed3 --- /dev/null +++ b/Challenge/JihyeChoo/3.type/solve.js @@ -0,0 +1,11 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof(arr)); + +// 1) undefined +// 2) string +// 3) number +// 4) object <----- Array는 Object의 하위 카테고리이다. \ No newline at end of file diff --git a/Challenge/JihyeChoo/4.type(2)/README.md b/Challenge/JihyeChoo/4.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/JihyeChoo/4.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/JihyeChoo/4.type(2)/solve.js b/Challenge/JihyeChoo/4.type(2)/solve.js new file mode 100644 index 0000000..3a64775 --- /dev/null +++ b/Challenge/JihyeChoo/4.type(2)/solve.js @@ -0,0 +1,10 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 1) 입력 : a =1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean <----- number로 출력되야한다. +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object + +// true, false가 boolean이다 \ No newline at end of file diff --git a/Challenge/JisuKim/003.type/README.md b/Challenge/JisuKim/003.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/JisuKim/003.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/JisuKim/003.type/solve.js b/Challenge/JisuKim/003.type/solve.js new file mode 100644 index 0000000..bb79b83 --- /dev/null +++ b/Challenge/JisuKim/003.type/solve.js @@ -0,0 +1,13 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof(arr)); + +// 1) undefined +// 2) string +// 3) number +// 4) object + +//4) object \ No newline at end of file diff --git a/Challenge/JisuKim/004.type(2)/README.md b/Challenge/JisuKim/004.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/JisuKim/004.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/JisuKim/004.type(2)/solve.js b/Challenge/JisuKim/004.type(2)/solve.js new file mode 100644 index 0000000..db1736e --- /dev/null +++ b/Challenge/JisuKim/004.type(2)/solve.js @@ -0,0 +1,10 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 1) 입력 : a =1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object + +//2. 입력 : a = 2.22, 출력 : boolean x true, false 값이며 a는 num \ No newline at end of file diff --git a/Challenge/JisuKim/005.for/README.md b/Challenge/JisuKim/005.for/README.md new file mode 100644 index 0000000..e704b38 --- /dev/null +++ b/Challenge/JisuKim/005.for/README.md @@ -0,0 +1,20 @@ + +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); +``` + +1) 10 +2) 12 +3) 14 +4) 16 \ No newline at end of file diff --git a/Challenge/JisuKim/005.for/solve.js b/Challenge/JisuKim/005.for/solve.js new file mode 100644 index 0000000..9422992 --- /dev/null +++ b/Challenge/JisuKim/005.for/solve.js @@ -0,0 +1,27 @@ + +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); + + +// 1) 10 +// 2) 12 +// 3) 14 +// 4) 16 + +// 10 2 +// 10 10 + 1 +// 11 11 + 3 +// 14 + 2 + +// 4번 16 \ No newline at end of file diff --git a/Challenge/JisuKim/006.false/README.md b/Challenge/JisuKim/006.false/README.md new file mode 100644 index 0000000..66f6e1d --- /dev/null +++ b/Challenge/JisuKim/006.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Challenge/JisuKim/006.false/solve.js b/Challenge/JisuKim/006.false/solve.js new file mode 100644 index 0000000..2984665 --- /dev/null +++ b/Challenge/JisuKim/006.false/solve.js @@ -0,0 +1,13 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +// 1) NaN +// 2) 1 +// 3) "" +// 4) 0 +// 5) undefined + + +//정답: 2번 1, 1은 null,undefined,0,"",NaN,false는 false로 취급한다. \ No newline at end of file diff --git a/Challenge/JisuKim/007.variable/README.md b/Challenge/JisuKim/007.variable/README.md new file mode 100644 index 0000000..2002c44 --- /dev/null +++ b/Challenge/JisuKim/007.variable/README.md @@ -0,0 +1,9 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Challenge/JisuKim/007.variable/solve.js b/Challenge/JisuKim/007.variable/solve.js new file mode 100644 index 0000000..fdd7a7e --- /dev/null +++ b/Challenge/JisuKim/007.variable/solve.js @@ -0,0 +1,13 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age +*/ + +//정답 : 정답: 3번 let, 5번 1age, JavaScript 식별자는 예약어를 사용할 수 없고 숫자가 가장 앞에 올 수 없다. \ No newline at end of file diff --git a/Challenge/JisuKim/008.object/README.md b/Challenge/JisuKim/008.object/README.md new file mode 100644 index 0000000..0e23154 --- /dev/null +++ b/Challenge/JisuKim/008.object/README.md @@ -0,0 +1,16 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Challenge/JisuKim/008.object/solve.js b/Challenge/JisuKim/008.object/solve.js new file mode 100644 index 0000000..358e8cf --- /dev/null +++ b/Challenge/JisuKim/008.object/solve.js @@ -0,0 +1,18 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +*/ + +답 : 84 \ No newline at end of file diff --git a/Challenge/JisuKim/009.concat/README.md b/Challenge/JisuKim/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Challenge/JisuKim/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Challenge/JisuKim/009.concat/solve.js b/Challenge/JisuKim/009.concat/solve.js new file mode 100644 index 0000000..5339ec6 --- /dev/null +++ b/Challenge/JisuKim/009.concat/solve.js @@ -0,0 +1,30 @@ +/* +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +*/ +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = year.concat(`/${month}/${day} ${hour}:${minute}:${second}`) + +console.log(result) \ No newline at end of file diff --git a/Challenge/JisuKim/010.star/README.md b/Challenge/JisuKim/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Challenge/JisuKim/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Challenge/JisuKim/010.star/solve.js b/Challenge/JisuKim/010.star/solve.js new file mode 100644 index 0000000..e3b7686 --- /dev/null +++ b/Challenge/JisuKim/010.star/solve.js @@ -0,0 +1,31 @@ +/* +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +*/ + +const level = 5; + +for (let i = 1; i <= level; i++) { + let tree = ''; + for (let k = 1; k <= level-i; k++) { + tree = tree + " "; + } + for (let j = 1; j <= i*2-1; j++) { + tree = tree + '*'; + } + console.log(tree) +} \ No newline at end of file diff --git a/Challenge/JisuKim/011.for/README.md b/Challenge/JisuKim/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Challenge/JisuKim/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/JisuKim/011.for/solve.js b/Challenge/JisuKim/011.for/solve.js new file mode 100644 index 0000000..237058b --- /dev/null +++ b/Challenge/JisuKim/011.for/solve.js @@ -0,0 +1,19 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +let s = 0; + +//pass + +console.log(s); +*/ + +let s = 0; + +for (let i = 1; i < 101; i++) { + s += i +} + +console.log(s); \ No newline at end of file diff --git a/Challenge/JisuKim/012.class/README.md b/Challenge/JisuKim/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Challenge/JisuKim/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Challenge/JisuKim/012.class/solve.js b/Challenge/JisuKim/012.class/solve.js new file mode 100644 index 0000000..51b5c5c --- /dev/null +++ b/Challenge/JisuKim/012.class/solve.js @@ -0,0 +1,29 @@ +/* +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +*/ + +class Wizard { + constructor (health, mana, armor) { + this.health = health; + this.mana = mana; + this.armor = armor; + } + + attack() { + console.log('파이어볼!') + } +} \ No newline at end of file diff --git a/Challenge/JisuKim/013.find-planet/README.md b/Challenge/JisuKim/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Challenge/JisuKim/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Challenge/JisuKim/013.find-planet/solve.js b/Challenge/JisuKim/013.find-planet/solve.js new file mode 100644 index 0000000..8e45793 --- /dev/null +++ b/Challenge/JisuKim/013.find-planet/solve.js @@ -0,0 +1,21 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ +function planet (n) { + const arr = ["수성", "금성", "지구", "화성", "목성", "토성", "천왕성", "해왕성"]; + return arr[n-1] +} + +planet(1); \ No newline at end of file diff --git a/Challenge/JisuKim/014.if/README.md b/Challenge/JisuKim/014.if/README.md new file mode 100644 index 0000000..be5a459 --- /dev/null +++ b/Challenge/JisuKim/014.if/README.md @@ -0,0 +1,17 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +```jsx +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +``` diff --git a/Challenge/JisuKim/014.if/solve.js b/Challenge/JisuKim/014.if/solve.js new file mode 100644 index 0000000..76b51f4 --- /dev/null +++ b/Challenge/JisuKim/014.if/solve.js @@ -0,0 +1,25 @@ +/* +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +*/ + +let num = parseInt(Math.random()*99+1); + +if (num % 3 == 0 ) { + console.log('짝') +} else { + console.log(num) +} \ No newline at end of file diff --git a/Challenge/JisuKim/015.template _literals/README.md b/Challenge/JisuKim/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Challenge/JisuKim/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Challenge/JisuKim/015.template _literals/solve.js b/Challenge/JisuKim/015.template _literals/solve.js new file mode 100644 index 0000000..b3f1c01 --- /dev/null +++ b/Challenge/JisuKim/015.template _literals/solve.js @@ -0,0 +1,21 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +*/ + +const name = '김다정' + +const sayHi = () => { + console.log(`안녕하세요. 저는 ${name}입니다.`) +} + +sayHi(); \ No newline at end of file diff --git "a/Challenge/JisuKim/016.\353\241\234\352\276\270\352\272\274/README.md" "b/Challenge/JisuKim/016.\353\241\234\352\276\270\352\272\274/README.md" new file mode 100644 index 0000000..6528a39 --- /dev/null +++ "b/Challenge/JisuKim/016.\353\241\234\352\276\270\352\272\274/README.md" @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git "a/Challenge/JisuKim/016.\353\241\234\352\276\270\352\272\274/solve.js" "b/Challenge/JisuKim/016.\353\241\234\352\276\270\352\272\274/solve.js" new file mode 100644 index 0000000..afa6dd3 --- /dev/null +++ "b/Challenge/JisuKim/016.\353\241\234\352\276\270\352\272\274/solve.js" @@ -0,0 +1,13 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +*/ + +const word = '거꾸로'; + +console.log(word.split("").reverse().join("")) \ No newline at end of file diff --git a/Challenge/JisuKim/017.limit/README.md b/Challenge/JisuKim/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Challenge/JisuKim/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Challenge/JisuKim/017.limit/solve.js b/Challenge/JisuKim/017.limit/solve.js new file mode 100644 index 0000000..5ba89cf --- /dev/null +++ b/Challenge/JisuKim/017.limit/solve.js @@ -0,0 +1,17 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. +*/ + +const num = prompt('키 몇?') + +if (num >= 150) { + console.log('YES') +} else { + console.log('no') +} \ No newline at end of file diff --git a/Challenge/JisuKim/018.average/README.md b/Challenge/JisuKim/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Challenge/JisuKim/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Challenge/JisuKim/018.average/solve.js b/Challenge/JisuKim/018.average/solve.js new file mode 100644 index 0000000..277bdcd --- /dev/null +++ b/Challenge/JisuKim/018.average/solve.js @@ -0,0 +1,35 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 + +*/ + +// const result = { +// 국어 : 20, +// 수학 : 30, +// 영어 : 40, +// } + +// function aver() { +// console.log((result.국어 + result.수학 + result.영어)/Object.keys(result).length) +// } + +// aver(); + +const result = prompt("입력해 주세요").split(" ") +let sum = 0; + +for(let i = 0; i < result.length; i++) { + sum = sum + parseInt(result[i]) +} + +console.log(Math.floor(sum/result.length)) \ No newline at end of file diff --git a/Challenge/JisuKim/019.square/README.md b/Challenge/JisuKim/019.square/README.md new file mode 100644 index 0000000..e02a30a --- /dev/null +++ b/Challenge/JisuKim/019.square/README.md @@ -0,0 +1,3 @@ +문제19 : 제곱을 구하자 + +공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. \ No newline at end of file diff --git a/Challenge/JisuKim/019.square/solve.js b/Challenge/JisuKim/019.square/solve.js new file mode 100644 index 0000000..1a37589 --- /dev/null +++ b/Challenge/JisuKim/019.square/solve.js @@ -0,0 +1,8 @@ +// 문제19 : 제곱을 구하자 + +// 공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. + +const num = prompt('두 숫자 입력'); +const arr = num.split(' '); + +parseInt(arr[0])**(parseInt(arr[1])) \ No newline at end of file diff --git a/Challenge/JisuKim/020.share-remainder/README.md b/Challenge/JisuKim/020.share-remainder/README.md new file mode 100644 index 0000000..91c7d9c --- /dev/null +++ b/Challenge/JisuKim/020.share-remainder/README.md @@ -0,0 +1,11 @@ +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` \ No newline at end of file diff --git a/Challenge/JisuKim/020.share-remainder/solve.js b/Challenge/JisuKim/020.share-remainder/solve.js new file mode 100644 index 0000000..d6e88dd --- /dev/null +++ b/Challenge/JisuKim/020.share-remainder/solve.js @@ -0,0 +1,17 @@ +/* +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +**입출력** + +입력 : 10 2 +출력 : 5 0 + +*/ + +const num = [10, 2] + +const last = num[0] % num[1] +const val = Math.floor(num[0] / num[1]) \ No newline at end of file diff --git a/Challenge/JisuKim/021.set/README.md b/Challenge/JisuKim/021.set/README.md new file mode 100644 index 0000000..255a239 --- /dev/null +++ b/Challenge/JisuKim/021.set/README.md @@ -0,0 +1,9 @@ +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); \ No newline at end of file diff --git a/Challenge/JisuKim/021.set/solve.js b/Challenge/JisuKim/021.set/solve.js new file mode 100644 index 0000000..d00de9c --- /dev/null +++ b/Challenge/JisuKim/021.set/solve.js @@ -0,0 +1,13 @@ +/* +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); +*/ + +3,5 \ No newline at end of file diff --git a/Challenge/JisuKim/022.multiple/README.md b/Challenge/JisuKim/022.multiple/README.md new file mode 100644 index 0000000..b4d74cc --- /dev/null +++ b/Challenge/JisuKim/022.multiple/README.md @@ -0,0 +1,9 @@ +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 \ No newline at end of file diff --git a/Challenge/JisuKim/022.multiple/solve.js b/Challenge/JisuKim/022.multiple/solve.js new file mode 100644 index 0000000..bba9d42 --- /dev/null +++ b/Challenge/JisuKim/022.multiple/solve.js @@ -0,0 +1,12 @@ +/* +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 +*/ +2 \ No newline at end of file diff --git a/Challenge/JisuKim/023.OX/README.md b/Challenge/JisuKim/023.OX/README.md new file mode 100644 index 0000000..47e0046 --- /dev/null +++ b/Challenge/JisuKim/023.OX/README.md @@ -0,0 +1,3 @@ +# 문제23 : OX문제 + +`console.log(10/3)`의 출력 결과는 **3**이다. \ No newline at end of file diff --git a/Challenge/JisuKim/023.OX/solve.js b/Challenge/JisuKim/023.OX/solve.js new file mode 100644 index 0000000..e38c374 --- /dev/null +++ b/Challenge/JisuKim/023.OX/solve.js @@ -0,0 +1,9 @@ +// # 문제23: OX문제 + +// `console.log(10/3)`의 출력 결과는 ** 3 ** 이다. + +if (10/3 == 3) { + console.log('o') +} else { + console.log('x') +} \ No newline at end of file diff --git a/Challenge/JisuKim/024.toUpperCase/README.md b/Challenge/JisuKim/024.toUpperCase/README.md new file mode 100644 index 0000000..a5e5142 --- /dev/null +++ b/Challenge/JisuKim/024.toUpperCase/README.md @@ -0,0 +1,12 @@ +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +```jsx +**입출력** + +입력 : mary +출력 : MARY +``` \ No newline at end of file diff --git a/Challenge/JisuKim/024.toUpperCase/solve.js b/Challenge/JisuKim/024.toUpperCase/solve.js new file mode 100644 index 0000000..9f73457 --- /dev/null +++ b/Challenge/JisuKim/024.toUpperCase/solve.js @@ -0,0 +1,17 @@ +/* +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +**입출력** + +입력 : mary +출력 : MARY +*/ + +let name = 'mary'; + + +name.toUpperCase(); \ No newline at end of file diff --git a/Challenge/JisuKim/025.circle-area/README.md b/Challenge/JisuKim/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Challenge/JisuKim/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Challenge/JisuKim/025.circle-area/solve.js b/Challenge/JisuKim/025.circle-area/solve.js new file mode 100644 index 0000000..16fd3ea --- /dev/null +++ b/Challenge/JisuKim/025.circle-area/solve.js @@ -0,0 +1,14 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + + +const circle = function(radius) { + return radius* radius * 3.14 +} + +circle(2) \ No newline at end of file diff --git a/Challenge/JisuKim/026.planet_2/README.md b/Challenge/JisuKim/026.planet_2/README.md new file mode 100644 index 0000000..678e82a --- /dev/null +++ b/Challenge/JisuKim/026.planet_2/README.md @@ -0,0 +1,6 @@ +# 문제26 : 행성 문제2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git a/Challenge/JisuKim/026.planet_2/solve.js b/Challenge/JisuKim/026.planet_2/solve.js new file mode 100644 index 0000000..ec4aece --- /dev/null +++ b/Challenge/JisuKim/026.planet_2/solve.js @@ -0,0 +1,25 @@ +// 문제26 : 행성 문제2 + +// 우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +// 이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + + +const planet = { + 수성: "Mercury", + 금성: "Venus", + 지구: "Earth", + 화성: "Mars", + 목성: "Jupiter", + 토성: "Saturn", + 천왕성: "Uranus", + 해왕성: "Neptune" +} + +const callPlanet = prompt("뭐 할껀데?") + +function translationEngToKor(callPlanet) { + console.log(planet[callPlanet]) +} + +translationEngToKor(callPlanet) +//마침표 연산자로는 접근 불가능 하다. 무조건 planet.토성 이렇게 프로퍼티 키로 접근해야 한다. \ No newline at end of file diff --git a/Challenge/JisuKim/027.object/README.md b/Challenge/JisuKim/027.object/README.md new file mode 100644 index 0000000..9b83945 --- /dev/null +++ b/Challenge/JisuKim/027.object/README.md @@ -0,0 +1,14 @@ +# 문제27 : 객체 만들기 + +첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +```jsx +**입력** +Yujin Hyewon +70 100 + +**출력** +{'Yujin': 70, 'Hyewon': 100} +``` \ No newline at end of file diff --git a/Challenge/JisuKim/027.object/solve.js b/Challenge/JisuKim/027.object/solve.js new file mode 100644 index 0000000..9400cec --- /dev/null +++ b/Challenge/JisuKim/027.object/solve.js @@ -0,0 +1,26 @@ +// # 문제27 : 객체 만들기 + +// 첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +// 두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + + +// **입력** +// Yujin Hyewon +// 70 100 + +// **출력** +// {'Yujin': 70, 'Hyewon': 100} + + +const name = 'Yujin Hyewon'//prompt('학생이름') +const score = '70 100'//prompt('점수') + + +const arrName = name.split(' '); +const arrScore = score.split(' '); +let obj = {}; +for (let i = 0; i < arrName.length; i++) { + obj[arrName[i]] = arrScore[i] +} + diff --git a/Challenge/JisuKim/028.2-gram/README.md b/Challenge/JisuKim/028.2-gram/README.md new file mode 100644 index 0000000..3a0dfe1 --- /dev/null +++ b/Challenge/JisuKim/028.2-gram/README.md @@ -0,0 +1,23 @@ +# 문제28 : 2-gram + +**2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +```jsx +**입력** +Javascript + +**출력** +J a +a v +v a +a s +s c +c r +r i +i p +p t +``` + +입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. \ No newline at end of file diff --git a/Challenge/JisuKim/028.2-gram/solve.js b/Challenge/JisuKim/028.2-gram/solve.js new file mode 100644 index 0000000..aab122d --- /dev/null +++ b/Challenge/JisuKim/028.2-gram/solve.js @@ -0,0 +1,31 @@ +// # 문제28 : 2-gram + +// **2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +// 예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +// **입력** +// Javascript + +// **출력** +// J a +// a v +// v a +// a s +// s c +// c r +// r i +// i p +// p t + +// 입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. + +const input = "Javascript"; + +function twoGram(input) { + for (let i = 0; i < input.length - 1; i++) { + console.log(input[i], input[i + 1]); + } +} + +twoGram(input); diff --git "a/Challenge/JisuKim/029.\353\214\200\353\254\270\354\236\220/README.md" "b/Challenge/JisuKim/029.\353\214\200\353\254\270\354\236\220/README.md" new file mode 100644 index 0000000..287a235 --- /dev/null +++ "b/Challenge/JisuKim/029.\353\214\200\353\254\270\354\236\220/README.md" @@ -0,0 +1,5 @@ +# 문제29 : 대문자만 지나가세요 + +진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git "a/Challenge/JisuKim/029.\353\214\200\353\254\270\354\236\220/solve.js" "b/Challenge/JisuKim/029.\353\214\200\353\254\270\354\236\220/solve.js" new file mode 100644 index 0000000..bbf0b23 --- /dev/null +++ "b/Challenge/JisuKim/029.\353\214\200\353\254\270\354\236\220/solve.js" @@ -0,0 +1,16 @@ +// 문제29 : 대문자만 지나가세요 + +// 진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +// 알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. + +function solution (string) { + if (string === string.toUpperCase()) { + console.log('yes') + } else { + console.log('no') + } +} + +var word = 's' +solution(word) diff --git a/Challenge/JisuKim/030.find-string/README.md b/Challenge/JisuKim/030.find-string/README.md new file mode 100644 index 0000000..b2f4ed6 --- /dev/null +++ b/Challenge/JisuKim/030.find-string/README.md @@ -0,0 +1,15 @@ +# 문제30 : 문자열 속 문자 찾기 + +문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +**그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +```jsx +**입력** +pineapple is yummy +apple + +**출력** +4 +``` \ No newline at end of file diff --git a/Challenge/JisuKim/030.find-string/solve.js b/Challenge/JisuKim/030.find-string/solve.js new file mode 100644 index 0000000..4cdd769 --- /dev/null +++ b/Challenge/JisuKim/030.find-string/solve.js @@ -0,0 +1,46 @@ +// # 문제30 : 문자열 속 문자 찾기 + +// 문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +// 첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +// **그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +// ```jsx +// **입력** +// pineapple is yummy +// apple + +// **출력** +// 4 +// ``` + + + + +// var str = "pineapple is yummy" +// var find = "apple" + +// function solution(string, find) { +// //스트링의 문자열을 다 돌면서, find의 문자가 일치하는지 체크하고 있으면 index를 반환한다 +// var newStr = string.split("") +// var newFind = find.split("") +// var answer = []; +// // newStr.forEach(element => { +// // console.log(element) +// // }); +// for (const value in newStr) { +// for (const match in newFind) { +// console.log("newStr[value]",newStr[value]) +// console.log("newFind[match]",newStr[value]) +// if(newStr[value] === newFind[match]) answer.push(value); +// } +// } +// return answer +// } + +// solution(str, find); +const word = "pineapple is yummy" +const keyword = "apple" + + +console.log(word.indexOf(keyword)) \ No newline at end of file diff --git a/Challenge/JisuKim/031.timeComplexity/README.md b/Challenge/JisuKim/031.timeComplexity/README.md new file mode 100644 index 0000000..c10ae55 --- /dev/null +++ b/Challenge/JisuKim/031.timeComplexity/README.md @@ -0,0 +1,9 @@ +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() +4) arr.pop() +5) arr.includes(5) \ No newline at end of file diff --git a/Challenge/JisuKim/031.timeComplexity/solve.js b/Challenge/JisuKim/031.timeComplexity/solve.js new file mode 100644 index 0000000..978ffdd --- /dev/null +++ b/Challenge/JisuKim/031.timeComplexity/solve.js @@ -0,0 +1,13 @@ +/* +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() +4) arr.pop() +5) arr.includes(5) +*/ + +정답 : 3, 5 //배열의 크기가 커지면 시간 복잡도가 올라간다. diff --git "a/Challenge/JisuKim/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" "b/Challenge/JisuKim/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" new file mode 100644 index 0000000..53459f4 --- /dev/null +++ "b/Challenge/JisuKim/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" @@ -0,0 +1,13 @@ +# 문제32 : 문자열 만들기 + +취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +혜림이를 위해 **문자열을 입력받으면 단어의 갯수를 출력하는 프로그램**을 작성해 주세요. + +```jsx +**입력** +안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +**출력** +5 +``` diff --git "a/Challenge/JisuKim/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" "b/Challenge/JisuKim/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" new file mode 100644 index 0000000..54369d9 --- /dev/null +++ "b/Challenge/JisuKim/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" @@ -0,0 +1,17 @@ +// # 문제32 : 문자열 만들기 + +// 취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +// 혜림이를 위해 문자열을 입력받으면 단어의 갯수를 출력하는 프로그램을 작성해 주세요. + +// ```jsx +// **입력** +// 안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +// **출력** +// 5 +// ``` + +var word = "안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다."; + +word.split(" ").length \ No newline at end of file diff --git a/Challenge/JisuKim/033.Reverse/README.md b/Challenge/JisuKim/033.Reverse/README.md new file mode 100644 index 0000000..7d450ce --- /dev/null +++ b/Challenge/JisuKim/033.Reverse/README.md @@ -0,0 +1,13 @@ +# 문제33 : 거꾸로 출력하기 + +한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +```jsx +**입출력** +입력 : 1 2 3 4 5 +출력 : 5 4 3 2 1 + +**출력** +입력 : 2 4 6 7 8 +출력 : 8 7 6 4 2 +``` diff --git a/Challenge/JisuKim/033.Reverse/solve.js b/Challenge/JisuKim/033.Reverse/solve.js new file mode 100644 index 0000000..0ef90a4 --- /dev/null +++ b/Challenge/JisuKim/033.Reverse/solve.js @@ -0,0 +1,17 @@ +// # 문제33 : 거꾸로 출력하기 + +// 한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +// ```jsx +// **입출력** +// 입력 : 1 2 3 4 5 +// 출력 : 5 4 3 2 1 + +// **출력** +// 입력 : 2 4 6 7 8 +// 출력 : 8 7 6 4 2 +// ``` + +var keys = "1 2 3 4 5"; +var arr = keys.split(" ").reverse(); +var reverseArr = arr.join(" ") \ No newline at end of file diff --git a/Challenge/JisuKim/034.Sort/README.md b/Challenge/JisuKim/034.Sort/README.md new file mode 100644 index 0000000..2d7e610 --- /dev/null +++ b/Challenge/JisuKim/034.Sort/README.md @@ -0,0 +1,15 @@ +# 문제34 : sort 구현하기 + +민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +(키는 공백으로 구분하여 입력됩니다.) + +```jsx +**입출력** +입력 : 176 156 155 165 166 169 +출력 : NO + +입력 : 155 156 165 166 169 176 +출력 : YES +``` diff --git a/Challenge/JisuKim/034.Sort/solve.js b/Challenge/JisuKim/034.Sort/solve.js new file mode 100644 index 0000000..6af4129 --- /dev/null +++ b/Challenge/JisuKim/034.Sort/solve.js @@ -0,0 +1,28 @@ +// # 문제34 : sort 구현하기 + +// 민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +// 민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +// (키는 공백으로 구분하여 입력됩니다.) + +// ```jsx +// **입출력** +// 입력 : 176 156 155 165 166 169 +// 출력 : NO + +// 입력 : 155 156 165 166 169 176 +// 출력 : YES +// ``` + +var problem = "176 156 155 165 166 169"; +var arr = problem.split(" ").sort((a,b) => (a-b)); + +function yesOrNO (arr, problem) { + if (arr === problem) { + console.log('yes') + } else { + console.log('no') + } +} + +yesOrNO(arr, problem) \ No newline at end of file diff --git a/Challenge/JisuKim/035.function/README.md b/Challenge/JisuKim/035.function/README.md new file mode 100644 index 0000000..5e4b62a --- /dev/null +++ b/Challenge/JisuKim/035.function/README.md @@ -0,0 +1,22 @@ +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` \ No newline at end of file diff --git a/Challenge/JisuKim/035.function/solve.js b/Challenge/JisuKim/035.function/solve.js new file mode 100644 index 0000000..9017bfb --- /dev/null +++ b/Challenge/JisuKim/035.function/solve.js @@ -0,0 +1,40 @@ +/* +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` +*/ + +function one(n){ + + function two(value){ + return value**n; + } + return two +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); \ No newline at end of file diff --git a/Challenge/JisuKim/036.Multiplication_Table/README.md b/Challenge/JisuKim/036.Multiplication_Table/README.md new file mode 100644 index 0000000..3691735 --- /dev/null +++ b/Challenge/JisuKim/036.Multiplication_Table/README.md @@ -0,0 +1,10 @@ +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` \ No newline at end of file diff --git a/Challenge/JisuKim/036.Multiplication_Table/solve.js b/Challenge/JisuKim/036.Multiplication_Table/solve.js new file mode 100644 index 0000000..8b98b9d --- /dev/null +++ b/Challenge/JisuKim/036.Multiplication_Table/solve.js @@ -0,0 +1,20 @@ +/* +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` +*/ + +function 구구단(숫자) { + for(let i = 1; i < 10; i++) { + console.log(숫자 * i) + } +} + +구구단(2) \ No newline at end of file diff --git "a/Challenge/JisuKim/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" "b/Challenge/JisuKim/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" new file mode 100644 index 0000000..18cac02 --- /dev/null +++ "b/Challenge/JisuKim/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" @@ -0,0 +1,11 @@ +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` \ No newline at end of file diff --git "a/Challenge/JisuKim/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" "b/Challenge/JisuKim/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" new file mode 100644 index 0000000..5e11fff --- /dev/null +++ "b/Challenge/JisuKim/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" @@ -0,0 +1,90 @@ +/* +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` +*/ +const entries = "원범 원범 혜원 혜원 혜원 혜원 유진 유진" +var arr = entries.split(" "); +var answer = []; +var set = new Set([]); +var count = 0; + + +arr.forEach((e,i) => { + set.add(e) + if (set.has(e)) { + count++; + answer.push([e + count]) + } +}) + +// function Cat(name, age) { +// this.name = name; +// this.age = age; +// } + +// const tabby1 = Cat('nana', 5) +// console.log(tabby1.name) + +// (function(name){ +// console.log(`hello ${name}`) +// })('roto') + +// var idiots = { +// name: 'idiots', +// genre: 'punk rock', +// members: { +// roto: { +// memberName: 'roto', +// play: function() { +// console.log(`band ${this.name} ${this.memberName} play start.`) +// } +// } +// } +// } + +// idiots.members.roto.play() + +// // 4번 경우에수가 많음 이따 풀기 + +// function RockBand(members) { +// this.members = members; +// this.perform = function() { +// setTimeout(function() { +// this.members.forEach(function(member) { +// member.perform() +// }, 1000) +// }) +// } +// } + +// var theOralCigarettes = new RockBand([ +// { +// name: 'takuya', +// perform: function() { +// console.log('a e u i a e u i') +// } +// } +// ]) + +// // 5번 +// const numbers = [1, 2, 3, 4, 5] +// for(var i = 0; i < numbers.length; i++) { +// setTimeout(function() { +// console.log(`number index ${i}`) +// }, 3000) +// } + +// for(var i = 0; i < 5; i++) { +// setTimeout(function() { +// console.log(`number index ${i}`) +// }, 0) +// } \ No newline at end of file diff --git "a/Challenge/JisuKim/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" "b/Challenge/JisuKim/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" new file mode 100644 index 0000000..36a32d4 --- /dev/null +++ "b/Challenge/JisuKim/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" @@ -0,0 +1,13 @@ +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` \ No newline at end of file diff --git "a/Challenge/JisuKim/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" "b/Challenge/JisuKim/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" new file mode 100644 index 0000000..8733a31 --- /dev/null +++ "b/Challenge/JisuKim/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" @@ -0,0 +1,36 @@ +/* +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` +*/ + + +//const arr = prompt('몇점?').split(' ') + +var arr = [97, 86, 75, 66, 55, 97, 85, 97, 97, 95] + +var count = 0; + +var set = new Set([]); + +var sortArr = arr.sort((a,b) => (b-a)) + +sortArr.forEach((element) => { + if(set.size < 3) { + set.add(element) + count++; + } + return set +}) + +console.log(count) \ No newline at end of file diff --git "a/Challenge/JisuKim/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" "b/Challenge/JisuKim/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" new file mode 100644 index 0000000..3b0af06 --- /dev/null +++ "b/Challenge/JisuKim/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" @@ -0,0 +1,18 @@ +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +``` \ No newline at end of file diff --git "a/Challenge/JisuKim/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" "b/Challenge/JisuKim/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" new file mode 100644 index 0000000..1913b05 --- /dev/null +++ "b/Challenge/JisuKim/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" @@ -0,0 +1,40 @@ +/* +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +``` +*/ + +var result = 'hqllo my namq is hyqwon'; + +//result.replace('q', 'e') + +var arr = result.split('') + +var arr1 = []; + +arr.forEach(e => { + if(e == 'q') { + arr1.push('e') + } else { + arr1.push(e) + + } + +}) + +arr1.join("") \ No newline at end of file diff --git "a/Challenge/JisuKim/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" "b/Challenge/JisuKim/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" new file mode 100644 index 0000000..324d030 --- /dev/null +++ "b/Challenge/JisuKim/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" @@ -0,0 +1,22 @@ +# 문제40 : 놀이동산에 가자 + +테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다. + +**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.** + +첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. +그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다. + +```jsx +**입력** +50 +5 +20 +20 +20 +20 +20 + +**출력** +2 +``` \ No newline at end of file diff --git "a/Challenge/JisuKim/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" "b/Challenge/JisuKim/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" new file mode 100644 index 0000000..6c2541b --- /dev/null +++ "b/Challenge/JisuKim/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" @@ -0,0 +1,36 @@ +/* +# 문제40 : 놀이동산에 가자 + +테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다. + +**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.** + +첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. +그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다. + +```jsx +**입력** +50 +5 +20 +20 +20 +20 +20 + +**출력** +2 +``` +*/ + +const weightLimit = '100' +const memberCount = '5' +let count = 0; +let totalWeight = 0; + +for(let i = 0; i < memberCount; i++) { + totalWeight += parseInt('50', 10); + if (totalWeight <= parseInt(weightLimit, 10)) { + count++; + } +} \ No newline at end of file diff --git "a/Challenge/JisuKim/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" "b/Challenge/JisuKim/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" new file mode 100644 index 0000000..11c15e3 --- /dev/null +++ "b/Challenge/JisuKim/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" @@ -0,0 +1,5 @@ +# 문제41 : 소수판별 + +숫자가 주어지면 **소수인지 아닌지 판별하는 프로그램**을 작성해주세요. +소수이면 YES로, 소수가 아니면 NO로 출력해주세요. +(소수 : 1과 자기 자신만으로 나누어떨어지는 1보다 큰 양의 정수) \ No newline at end of file diff --git "a/Challenge/JisuKim/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" "b/Challenge/JisuKim/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" new file mode 100644 index 0000000..a553b8b --- /dev/null +++ "b/Challenge/JisuKim/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" @@ -0,0 +1,26 @@ +/* +# 문제41 : 소수판별 + +숫자가 주어지면 **소수인지 아닌지 판별하는 프로그램**을 작성해주세요. +소수이면 YES로, 소수가 아니면 NO로 출력해주세요. +(소수 : 1과 자기 자신만으로 나누어떨어지는 1보다 큰 양의 정수) +*/ + + +let num = Math.floor((Math.random()*9) + 1) + +function solution(n) { + for(let i = 2; i < n; i++) { + if (n % i === 0) { + console.log('no') + return false + } + } + if (n === 1){ + console.log('no') + return false + } + console.log('yes') +} + +solution(num); \ No newline at end of file diff --git "a/Challenge/JisuKim/042.2020\353\205\204/README.md" "b/Challenge/JisuKim/042.2020\353\205\204/README.md" new file mode 100644 index 0000000..6fc7600 --- /dev/null +++ "b/Challenge/JisuKim/042.2020\353\205\204/README.md" @@ -0,0 +1,12 @@ +# 문제42 : 2020년 + +2020년 1월 1일은 수요일입니다. 2020년 a월 b일은 무슨 요일일까요? +두 수 a, b를 입력받아 2020년 a월 b일이 무슨 요일인지 리턴하는 함수 solution을 완성하세요. +요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT 입니다. + +예를 들어 a = 5, b = 24라면 5월 24일은 일요일이므로 문자열 "SUN"를 반환하세요. + +**제한 조건** +2020년은 윤년입니다. +2020년 a월 b일은 실제로 있는 날입니다. +(13월 26일이나 2월 45일 같은 날짜는 주어지지 않습니다.) \ No newline at end of file diff --git "a/Challenge/JisuKim/042.2020\353\205\204/solve.js" "b/Challenge/JisuKim/042.2020\353\205\204/solve.js" new file mode 100644 index 0000000..41f87ac --- /dev/null +++ "b/Challenge/JisuKim/042.2020\353\205\204/solve.js" @@ -0,0 +1,23 @@ +/* +# 문제42 : 2020년 + +2020년 1월 1일은 수요일입니다. 2020년 a월 b일은 무슨 요일일까요? +두 수 a, b를 입력받아 2020년 a월 b일이 무슨 요일인지 리턴하는 함수 solution을 완성하세요. +요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT 입니다. + +예를 들어 a = 5, b = 24라면 5월 24일은 일요일이므로 문자열 "SUN"를 반환하세요. + +**제한 조건** +2020년은 윤년입니다. +2020년 a월 b일은 실제로 있는 날입니다. +(13월 26일이나 2월 45일 같은 날짜는 주어지지 않습니다.) +*/ + +const day = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT']; +const month = '5' +const date = '5' + +function solution( a , b) { + const theDay = new Date(`2020-${a}-${b}`); + day[theDay.getDay()]; +} \ No newline at end of file diff --git "a/Challenge/JisuKim/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/README.md" "b/Challenge/JisuKim/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/README.md" new file mode 100644 index 0000000..1f52218 --- /dev/null +++ "b/Challenge/JisuKim/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/README.md" @@ -0,0 +1,6 @@ +# 문제43 : 10진수를 2진수로 + +우리가 흔히 사용하는 숫자 1, 8, 19, 28893 등등...은 10진수 체계입니다. +이를 컴퓨터가 알아 들을 수 있는 2진수로 바꾸려고 합니다. 어떻게 해야할까요? + +**사용자에게 숫자를 입력받고 이를 2진수를 바꾸고 그 값을 출력해주세요.** \ No newline at end of file diff --git "a/Challenge/JisuKim/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/solve.js" "b/Challenge/JisuKim/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/solve.js" new file mode 100644 index 0000000..6d72bbe --- /dev/null +++ "b/Challenge/JisuKim/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/solve.js" @@ -0,0 +1,17 @@ +/* +# 문제43 : 10진수를 2진수로 + +우리가 흔히 사용하는 숫자 1, 8, 19, 28893 등등...은 10진수 체계입니다. +이를 컴퓨터가 알아 들을 수 있는 2진수로 바꾸려고 합니다. 어떻게 해야할까요? + +**사용자에게 숫자를 입력받고 이를 2진수를 바꾸고 그 값을 출력해주세요.** +*/ +const num = 18; + +function solution(num) { + const newNum = num.toString(2); + console.log(newNum) + +} + +solution(num) \ No newline at end of file diff --git "a/Challenge/JisuKim/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/README.md" "b/Challenge/JisuKim/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/README.md" new file mode 100644 index 0000000..c581b86 --- /dev/null +++ "b/Challenge/JisuKim/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/README.md" @@ -0,0 +1,17 @@ +# 문제44 : 각 자리수의 합 + +**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 + +**예를들어** +18234 = 1+8+2+3+4 이고 정답은 18 입니다. +3849 = 3+8+4+9 이고 정답은 24입니다. + +```jsx +**입출력** + +입력 : 18234 +출력 : 18 + +입력 : 3849 +출력 : 24 +``` \ No newline at end of file diff --git "a/Challenge/JisuKim/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/solve.js" "b/Challenge/JisuKim/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/solve.js" new file mode 100644 index 0000000..bb93406 --- /dev/null +++ "b/Challenge/JisuKim/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/solve.js" @@ -0,0 +1,33 @@ +/* +# 문제44 : 각 자리수의 합 + +**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 + +**예를들어** +18234 = 1+8+2+3+4 이고 정답은 18 입니다. +3849 = 3+8+4+9 이고 정답은 24입니다. + +```jsx +**입출력** + +입력 : 18234 +출력 : 18 + +입력 : 3849 +출력 : 24 +``` +*/ + +const num = 18234; + +function solution(num) { + const text = num + ""; + let result = 0; + + for(let i = 0; i < text.length; i++) { + result += parseInt(text[i]) + } + console.log(result) +} + +solution(num); \ No newline at end of file diff --git a/Challenge/JisuKim/045.getTime/README.md b/Challenge/JisuKim/045.getTime/README.md new file mode 100644 index 0000000..c581b86 --- /dev/null +++ b/Challenge/JisuKim/045.getTime/README.md @@ -0,0 +1,17 @@ +# 문제44 : 각 자리수의 합 + +**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 + +**예를들어** +18234 = 1+8+2+3+4 이고 정답은 18 입니다. +3849 = 3+8+4+9 이고 정답은 24입니다. + +```jsx +**입출력** + +입력 : 18234 +출력 : 18 + +입력 : 3849 +출력 : 24 +``` \ No newline at end of file diff --git a/Challenge/JisuKim/045.getTime/solve.js b/Challenge/JisuKim/045.getTime/solve.js new file mode 100644 index 0000000..543f807 --- /dev/null +++ b/Challenge/JisuKim/045.getTime/solve.js @@ -0,0 +1,7 @@ +// # 문제45 : getTime()함수 사용하기 + +// Date객체의 메소드 중 하나인 getTime()은 1970년 1월 1일 0시 0분 0초 이후로부터 지금까지 흐른 시간을 천분의 1초 단위(ms)로 반환합니다. + +// 이를 이용하여 **현재 연도(2019)를 출력해보세요.** + +var date = new Date(); diff --git a/Challenge/JisuKim/2.arryMethd/solve.js b/Challenge/JisuKim/2.arryMethd/solve.js index 4095544..9c3a582 100644 --- a/Challenge/JisuKim/2.arryMethd/solve.js +++ b/Challenge/JisuKim/2.arryMethd/solve.js @@ -8,4 +8,6 @@ var arr = [200, 100, 300]; console.log(arr); 출력 -[200, 100, 10000, 300] \ No newline at end of file +[200, 100, 10000, 300] + +arr.splice(2, 0, 10000); \ No newline at end of file diff --git a/Challenge/MinkyeongJo/004.type(2)/README.md b/Challenge/MinkyeongJo/004.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/MinkyeongJo/004.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/MinkyeongJo/004.type(2)/solve.js b/Challenge/MinkyeongJo/004.type(2)/solve.js new file mode 100644 index 0000000..20c64a2 --- /dev/null +++ b/Challenge/MinkyeongJo/004.type(2)/solve.js @@ -0,0 +1,10 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 1) 입력 : a =1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object + +// 정답 2번: 2.22의 타입은 number가 나와야한다! \ No newline at end of file diff --git a/Challenge/MinkyeongJo/005.for/README.md b/Challenge/MinkyeongJo/005.for/README.md new file mode 100644 index 0000000..7ed44f2 --- /dev/null +++ b/Challenge/MinkyeongJo/005.for/README.md @@ -0,0 +1,20 @@ + +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; //10+1+3=14 +} + +console.log(a+b); //14+2=16 +``` + +1) 10 +2) 12 +3) 14 +4) 16 //정답 \ No newline at end of file diff --git a/Problems/5.for/solve.js b/Challenge/MinkyeongJo/005.for/solve.js similarity index 100% rename from Problems/5.for/solve.js rename to Challenge/MinkyeongJo/005.for/solve.js diff --git a/Challenge/MinkyeongJo/006.false/README.md b/Challenge/MinkyeongJo/006.false/README.md new file mode 100644 index 0000000..66f6e1d --- /dev/null +++ b/Challenge/MinkyeongJo/006.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Challenge/MinkyeongJo/006.false/solve.js b/Challenge/MinkyeongJo/006.false/solve.js new file mode 100644 index 0000000..fc140c4 --- /dev/null +++ b/Challenge/MinkyeongJo/006.false/solve.js @@ -0,0 +1,12 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +// 1) NaN -> false +// 2) 1 -> true +// 3) "" -> false +// 4) 0 -> false +// 5) undefined -> false + +// 정답은 2번! \ No newline at end of file diff --git a/Challenge/MinkyeongJo/007.variable/README.md b/Challenge/MinkyeongJo/007.variable/README.md new file mode 100644 index 0000000..2002c44 --- /dev/null +++ b/Challenge/MinkyeongJo/007.variable/README.md @@ -0,0 +1,9 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Challenge/MinkyeongJo/007.variable/solve.js b/Challenge/MinkyeongJo/007.variable/solve.js new file mode 100644 index 0000000..bdc16a1 --- /dev/null +++ b/Challenge/MinkyeongJo/007.variable/solve.js @@ -0,0 +1,13 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age +*/ + +//3번, 5번 : 변수명은 예약어 let을 사용할 수 없고 숫자로 시작할 수 없다. \ No newline at end of file diff --git a/Challenge/MinkyeongJo/008.object/README.md b/Challenge/MinkyeongJo/008.object/README.md new file mode 100644 index 0000000..0e23154 --- /dev/null +++ b/Challenge/MinkyeongJo/008.object/README.md @@ -0,0 +1,16 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Challenge/MinkyeongJo/008.object/solve.js b/Challenge/MinkyeongJo/008.object/solve.js new file mode 100644 index 0000000..737c243 --- /dev/null +++ b/Challenge/MinkyeongJo/008.object/solve.js @@ -0,0 +1,18 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +*/ + +//출력값은 84. 객체의 키가 중복되었을 경우에는 제일 마지막 값을 불러온다. \ No newline at end of file diff --git a/Challenge/MinkyeongJo/1.arry/README.md b/Challenge/MinkyeongJo/1.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/MinkyeongJo/1.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/MinkyeongJo/1.arry/solve.js b/Challenge/MinkyeongJo/1.arry/solve.js new file mode 100644 index 0000000..88d75d3 --- /dev/null +++ b/Challenge/MinkyeongJo/1.arry/solve.js @@ -0,0 +1,4 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500];`` \ No newline at end of file diff --git a/Challenge/MinkyeongJo/2.arryMethd/README.md b/Challenge/MinkyeongJo/2.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Challenge/MinkyeongJo/2.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/MinkyeongJo/2.arryMethd/solve.js b/Challenge/MinkyeongJo/2.arryMethd/solve.js new file mode 100644 index 0000000..7af4324 --- /dev/null +++ b/Challenge/MinkyeongJo/2.arryMethd/solve.js @@ -0,0 +1,11 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +// 데이터 +var arr = [200, 100, 300]; +arr.splice(2, 0 ,1000); +console.log(arr); + +// 출력 +// [200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/MinkyeongJo/3.type/README.md b/Challenge/MinkyeongJo/3.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/MinkyeongJo/3.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/MinkyeongJo/3.type/solve.js b/Challenge/MinkyeongJo/3.type/solve.js new file mode 100644 index 0000000..763f2b2 --- /dev/null +++ b/Challenge/MinkyeongJo/3.type/solve.js @@ -0,0 +1,11 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof(arr)); + +// 1) undefined +// 2) string +// 3) number +// 4) object(정답!) \ No newline at end of file diff --git a/Challenge/SeoheeJeon/README.md b/Challenge/SeoheeJeon/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/SeoheeJeon/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/SeoheeJeon/solve.js b/Challenge/SeoheeJeon/solve.js new file mode 100644 index 0000000..7ab35db --- /dev/null +++ b/Challenge/SeoheeJeon/solve.js @@ -0,0 +1,6 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; + +// a \ No newline at end of file diff --git a/Challenge/SominLee/1.arry/README.md b/Challenge/SominLee/1.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/SominLee/1.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/SominLee/1.arry/solve.js b/Challenge/SominLee/1.arry/solve.js new file mode 100644 index 0000000..7ffd8bd --- /dev/null +++ b/Challenge/SominLee/1.arry/solve.js @@ -0,0 +1,4 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/Songmyeongseok/011.for/README.md b/Challenge/Songmyeongseok/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Challenge/Songmyeongseok/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/Songmyeongseok/011.for/solve.js b/Challenge/Songmyeongseok/011.for/solve.js new file mode 100644 index 0000000..d9e29d3 --- /dev/null +++ b/Challenge/Songmyeongseok/011.for/solve.js @@ -0,0 +1,18 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +let s = 0; + +//pass + +console.log(s); +*/ + +let s = 0; +for (let i = 1; i<=100; i++){ + s += i; +} + + diff --git "a/Challenge/Songmyeongseok/016.\353\241\234\352\276\270\352\272\274/README.md" "b/Challenge/Songmyeongseok/016.\353\241\234\352\276\270\352\272\274/README.md" new file mode 100644 index 0000000..6528a39 --- /dev/null +++ "b/Challenge/Songmyeongseok/016.\353\241\234\352\276\270\352\272\274/README.md" @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git "a/Challenge/Songmyeongseok/016.\353\241\234\352\276\270\352\272\274/solve.js" "b/Challenge/Songmyeongseok/016.\353\241\234\352\276\270\352\272\274/solve.js" new file mode 100644 index 0000000..41dd4f4 --- /dev/null +++ "b/Challenge/Songmyeongseok/016.\353\241\234\352\276\270\352\272\274/solve.js" @@ -0,0 +1,13 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +*/ + +function 로꾸거(x){ + return x.split('').reverse().join('') +} diff --git a/Challenge/Songmyeongseok/017.limit/README.md b/Challenge/Songmyeongseok/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Challenge/Songmyeongseok/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Challenge/Songmyeongseok/017.limit/solve.js b/Challenge/Songmyeongseok/017.limit/solve.js new file mode 100644 index 0000000..f3f1113 --- /dev/null +++ b/Challenge/Songmyeongseok/017.limit/solve.js @@ -0,0 +1,17 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. +*/ + +function height(x) { + if(x >= 150){ + console.log("YES") + } else { + console.log("NO") + } +} \ No newline at end of file diff --git a/Challenge/Songmyeongseok/018.average/README.md b/Challenge/Songmyeongseok/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Challenge/Songmyeongseok/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Challenge/Songmyeongseok/018.average/solve.js b/Challenge/Songmyeongseok/018.average/solve.js new file mode 100644 index 0000000..34042b4 --- /dev/null +++ b/Challenge/Songmyeongseok/018.average/solve.js @@ -0,0 +1,18 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 + +*/ + +function average(x,y,z){ + return Math.floor((x+y+z) / 3) +} \ No newline at end of file diff --git a/Challenge/Songmyeongseok/019.square/README.md b/Challenge/Songmyeongseok/019.square/README.md new file mode 100644 index 0000000..e02a30a --- /dev/null +++ b/Challenge/Songmyeongseok/019.square/README.md @@ -0,0 +1,3 @@ +문제19 : 제곱을 구하자 + +공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. \ No newline at end of file diff --git a/Challenge/Songmyeongseok/019.square/solve.js b/Challenge/Songmyeongseok/019.square/solve.js new file mode 100644 index 0000000..83a1e44 --- /dev/null +++ b/Challenge/Songmyeongseok/019.square/solve.js @@ -0,0 +1,7 @@ +// 문제19 : 제곱을 구하자 + +// 공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. + +function square(x,y){ + return x**y +} \ No newline at end of file diff --git a/Challenge/Songmyeongseok/025.circle-area/README.md b/Challenge/Songmyeongseok/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Challenge/Songmyeongseok/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Challenge/Songmyeongseok/025.circle-area/solve.js b/Challenge/Songmyeongseok/025.circle-area/solve.js new file mode 100644 index 0000000..c3712f6 --- /dev/null +++ b/Challenge/Songmyeongseok/025.circle-area/solve.js @@ -0,0 +1,12 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + + +function 넓이(n) { + return n*n*3.14 +} \ No newline at end of file diff --git a/Challenge/Songmyeongseok/026.planet_2/README.md b/Challenge/Songmyeongseok/026.planet_2/README.md new file mode 100644 index 0000000..678e82a --- /dev/null +++ b/Challenge/Songmyeongseok/026.planet_2/README.md @@ -0,0 +1,6 @@ +# 문제26 : 행성 문제2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git a/Challenge/Songmyeongseok/026.planet_2/solve.js b/Challenge/Songmyeongseok/026.planet_2/solve.js new file mode 100644 index 0000000..d93ec01 --- /dev/null +++ b/Challenge/Songmyeongseok/026.planet_2/solve.js @@ -0,0 +1,19 @@ +// 문제26 : 행성 문제2 + +// 우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +// 이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +const planets = { + '수성' : 'Mercury', + '금성' : 'Venus', + '지구' : 'Earth', + '화성' : 'Mars', + '목성' : 'Jupiter', + '토성' : 'Saturn', + '천왕성' : 'Uranus', + '해왕성' : 'Neptune', +}; + +function planet(x){ + return console.log(planets[x]) +} \ No newline at end of file diff --git a/Challenge/Songmyeongseok/028.2-gram/README.md b/Challenge/Songmyeongseok/028.2-gram/README.md new file mode 100644 index 0000000..3a0dfe1 --- /dev/null +++ b/Challenge/Songmyeongseok/028.2-gram/README.md @@ -0,0 +1,23 @@ +# 문제28 : 2-gram + +**2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +```jsx +**입력** +Javascript + +**출력** +J a +a v +v a +a s +s c +c r +r i +i p +p t +``` + +입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. \ No newline at end of file diff --git a/Challenge/Songmyeongseok/028.2-gram/solve.js b/Challenge/Songmyeongseok/028.2-gram/solve.js new file mode 100644 index 0000000..1086992 --- /dev/null +++ b/Challenge/Songmyeongseok/028.2-gram/solve.js @@ -0,0 +1,29 @@ +// # 문제28 : 2-gram + +// **2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +// 예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + + +// **입력** +// Javascript + +// **출력** +// J a +// a v +// v a +// a s +// s c +// c r +// r i +// i p +// p t + + +// 입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. + +function gram(x){ + for(let i=0; i x < 400); \ No newline at end of file diff --git a/Challenge/Songmyeongseok/2.arryMethd/README.md b/Challenge/Songmyeongseok/2.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Challenge/Songmyeongseok/2.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/Songmyeongseok/2.arryMethd/solve.js b/Challenge/Songmyeongseok/2.arryMethd/solve.js new file mode 100644 index 0000000..e1fdd7c --- /dev/null +++ b/Challenge/Songmyeongseok/2.arryMethd/solve.js @@ -0,0 +1,14 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] + +//답 +//arr.splice(2,0,1000) \ No newline at end of file diff --git a/Challenge/SoyeonJang/001.arry/README.md b/Challenge/SoyeonJang/001.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/SoyeonJang/001.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/SoyeonJang/001.arry/solve.js b/Challenge/SoyeonJang/001.arry/solve.js new file mode 100644 index 0000000..1536a3e --- /dev/null +++ b/Challenge/SoyeonJang/001.arry/solve.js @@ -0,0 +1,8 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; + +nums.pop(); +nums.pop(); +console.log(nums); \ No newline at end of file diff --git a/Challenge/SoyeonJang/002.arryMethd/README.md b/Challenge/SoyeonJang/002.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Challenge/SoyeonJang/002.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/SoyeonJang/002.arryMethd/solve.js b/Challenge/SoyeonJang/002.arryMethd/solve.js new file mode 100644 index 0000000..3b4dc7d --- /dev/null +++ b/Challenge/SoyeonJang/002.arryMethd/solve.js @@ -0,0 +1,13 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +// 데이터 +var arr = [200, 100, 300]; + +arr.splice(2, 0, 10000) + +console.log(arr); + +// 출력 +// [200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/SoyeonJang/003.type/README.md b/Challenge/SoyeonJang/003.type/README.md new file mode 100644 index 0000000..82fc123 --- /dev/null +++ b/Challenge/SoyeonJang/003.type/README.md @@ -0,0 +1,13 @@ +# 문제 3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/SoyeonJang/003.type/solve.js b/Challenge/SoyeonJang/003.type/solve.js new file mode 100644 index 0000000..d54ccfb --- /dev/null +++ b/Challenge/SoyeonJang/003.type/solve.js @@ -0,0 +1,13 @@ +// # 문제 3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof(arr)); + +// 1) undefined (원시타입) +// 2) string (원시타입) +// 3) number (원시타입) +// 4) object (참조타입) + +// 정답: 4번 \ No newline at end of file diff --git a/Challenge/SoyeonJang/004.type(2)/README.md b/Challenge/SoyeonJang/004.type(2)/README.md new file mode 100644 index 0000000..1a36d8c --- /dev/null +++ b/Challenge/SoyeonJang/004.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제 4 : 변수의 타입 2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/SoyeonJang/004.type(2)/solve.js b/Challenge/SoyeonJang/004.type(2)/solve.js new file mode 100644 index 0000000..badcbaf --- /dev/null +++ b/Challenge/SoyeonJang/004.type(2)/solve.js @@ -0,0 +1,11 @@ +// # 문제 4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 1) 입력 : a = 1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object + +// 정답: 2번 +// Boolean은 true, false 중 하나만 반환, 2.22는 number \ No newline at end of file diff --git a/Challenge/SoyeonJang/005.for/README.md b/Challenge/SoyeonJang/005.for/README.md new file mode 100644 index 0000000..f24648d --- /dev/null +++ b/Challenge/SoyeonJang/005.for/README.md @@ -0,0 +1,19 @@ +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); +``` + +1) 10 +2) 12 +3) 14 +4) 16 \ No newline at end of file diff --git a/Challenge/SoyeonJang/005.for/solve.js b/Challenge/SoyeonJang/005.for/solve.js new file mode 100644 index 0000000..6af6f76 --- /dev/null +++ b/Challenge/SoyeonJang/005.for/solve.js @@ -0,0 +1,26 @@ +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); + +// 1) 10 +// 2) 12 +// 3) 14 +// 4) 16 + +// 정답: 4번 + +/* 해설 +i = 1일 때, a = 11 계산 -> i += 2로 i = 3으로 증가 +i = 3일 때, a = 14 계산 -> i += 2로 i = 5로 증가 +i = 5 조건에 안 맞으므로 종료 +결과: a + b = 14 + 2 = 16 +*/ \ No newline at end of file diff --git a/Challenge/SoyeonJang/006.false/README.md b/Challenge/SoyeonJang/006.false/README.md new file mode 100644 index 0000000..c6fef63 --- /dev/null +++ b/Challenge/SoyeonJang/006.false/README.md @@ -0,0 +1,10 @@ +# 문제 6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Challenge/SoyeonJang/006.false/solve.js b/Challenge/SoyeonJang/006.false/solve.js new file mode 100644 index 0000000..0d0cd1f --- /dev/null +++ b/Challenge/SoyeonJang/006.false/solve.js @@ -0,0 +1,16 @@ +// # 문제 6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +// 1) NaN +// 2) 1 +// 3) "" +// 4) 0 +// 5) undefined + +// 정답: 2번 + +/* 해설 + falsy: 0, '', NaN, false, null, undefined +*/ \ No newline at end of file diff --git a/Challenge/SoyeonJang/007.variable/README.md b/Challenge/SoyeonJang/007.variable/README.md new file mode 100644 index 0000000..f872494 --- /dev/null +++ b/Challenge/SoyeonJang/007.variable/README.md @@ -0,0 +1,9 @@ +# 문제 7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Challenge/SoyeonJang/007.variable/solve.js b/Challenge/SoyeonJang/007.variable/solve.js new file mode 100644 index 0000000..a92cee3 --- /dev/null +++ b/Challenge/SoyeonJang/007.variable/solve.js @@ -0,0 +1,19 @@ +/* +# 문제 7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let -> 예약어 +4) _age +5) 1age -> 첫 번째 글자 숫자 + +정답: 3번, 5번 + +변수명으로 사용할 수 있는 것 +1. 특수기호 +2. 문자열 (예약어 제외) +3. 숫자 (첫 번째로는 불가능) + +*/ \ No newline at end of file diff --git a/Challenge/SoyeonJang/008.object/README.md b/Challenge/SoyeonJang/008.object/README.md new file mode 100644 index 0000000..73627d5 --- /dev/null +++ b/Challenge/SoyeonJang/008.object/README.md @@ -0,0 +1,16 @@ +# 문제 8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다.) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Challenge/SoyeonJang/008.object/solve.js b/Challenge/SoyeonJang/008.object/solve.js new file mode 100644 index 0000000..178db3f --- /dev/null +++ b/Challenge/SoyeonJang/008.object/solve.js @@ -0,0 +1,19 @@ +/* +# 문제 8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다.) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); + +정답: 84 + +*/ \ No newline at end of file diff --git a/Challenge/SoyeonJang/009.concat/README.md b/Challenge/SoyeonJang/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Challenge/SoyeonJang/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Challenge/SoyeonJang/009.concat/solve.js b/Challenge/SoyeonJang/009.concat/solve.js new file mode 100644 index 0000000..1863e95 --- /dev/null +++ b/Challenge/SoyeonJang/009.concat/solve.js @@ -0,0 +1,20 @@ +/* +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = year.concat('/', month, '/', day, ' ', hour, ':', minute, ':', second) + +console.log(result); + +**출력** +2019/04/26 11:34:27 +*/ \ No newline at end of file diff --git a/Challenge/SoyeonJang/010.star/README.md b/Challenge/SoyeonJang/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Challenge/SoyeonJang/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Challenge/SoyeonJang/010.star/solve.js b/Challenge/SoyeonJang/010.star/solve.js new file mode 100644 index 0000000..28115ba --- /dev/null +++ b/Challenge/SoyeonJang/010.star/solve.js @@ -0,0 +1,39 @@ +/* +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* + +방법 1 + +let level = 5; +for (let i = 1; i <= level ; i++) { + console.log(' '.repeat(level - i) + '*'.repeat(i * 2 - 1)) +} + +방법 2 + +let level = 5; +for (let i = 1; i <= level; i++) { + let tree = "" + for (let k = 1; k <= level - i; k++) { + tree += ' ' + } + for (let j = 1; j <= i * 2 - 1; j++) { + tree += '*' + } + console.log (tree) +} +*/ \ No newline at end of file diff --git a/Challenge/SoyeonJang/011.for/README.md b/Challenge/SoyeonJang/011.for/README.md new file mode 100644 index 0000000..0adcbcb --- /dev/null +++ b/Challenge/SoyeonJang/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +// pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/SoyeonJang/011.for/solve.js b/Challenge/SoyeonJang/011.for/solve.js new file mode 100644 index 0000000..d3ca22c --- /dev/null +++ b/Challenge/SoyeonJang/011.for/solve.js @@ -0,0 +1,15 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +let s = 0; + +// pass + +for (let i = 1; i <= 100; i++) { + s += i +} + +console.log(s); +*/ \ No newline at end of file diff --git a/Challenge/SoyeonJang/012.class/README.md b/Challenge/SoyeonJang/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Challenge/SoyeonJang/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Challenge/SoyeonJang/012.class/solve.js b/Challenge/SoyeonJang/012.class/solve.js new file mode 100644 index 0000000..e156dcf --- /dev/null +++ b/Challenge/SoyeonJang/012.class/solve.js @@ -0,0 +1,28 @@ +/* +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +**데이터** +<여기에 class를 작성하세요.> + +class Wizard { + constructor (health, mana, armor) { + this.health = health; + this.mana = mana; + this.armor = armor; + } + attack() { + console.log('파이어볼') + } +} + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +*/ \ No newline at end of file diff --git a/Challenge/SoyeonJang/013.find-planet/README.md b/Challenge/SoyeonJang/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Challenge/SoyeonJang/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Challenge/SoyeonJang/013.find-planet/solve.js b/Challenge/SoyeonJang/013.find-planet/solve.js new file mode 100644 index 0000000..370e4de --- /dev/null +++ b/Challenge/SoyeonJang/013.find-planet/solve.js @@ -0,0 +1,19 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ + +const planet = ['수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성']; +const n = prompt('몇 번째 행성이 궁금하신가요?\n(1-8 사이의 숫자를 입력해 주세요.)'); +console.log(planet[n - 1]); \ No newline at end of file diff --git a/Challenge/SoyeonJang/014.if/README.md b/Challenge/SoyeonJang/014.if/README.md new file mode 100644 index 0000000..488df61 --- /dev/null +++ b/Challenge/SoyeonJang/014.if/README.md @@ -0,0 +1,17 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +```jsx +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +``` \ No newline at end of file diff --git a/Challenge/SoyeonJang/014.if/solve.js b/Challenge/SoyeonJang/014.if/solve.js new file mode 100644 index 0000000..a54059c --- /dev/null +++ b/Challenge/SoyeonJang/014.if/solve.js @@ -0,0 +1,25 @@ +/* +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +*/ + +const n = prompt('아무 정수나 입력해 주세요!') + +if (n % 3 == 0 && n != 0) { + console.log('짝') +} else { + console.log(n) +} \ No newline at end of file diff --git a/Challenge/SoyeonJang/015.template _literals/README.md b/Challenge/SoyeonJang/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Challenge/SoyeonJang/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Challenge/SoyeonJang/015.template _literals/solve.js b/Challenge/SoyeonJang/015.template _literals/solve.js new file mode 100644 index 0000000..cc87bd0 --- /dev/null +++ b/Challenge/SoyeonJang/015.template _literals/solve.js @@ -0,0 +1,17 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +*/ + +const name = prompt('이름을 입력해 자기소개를 해 보세요') + +console.log(`안녕하세요 저는 ${name}입니다.`) \ No newline at end of file diff --git "a/Challenge/SoyeonJang/016.\353\241\234\352\276\270\352\272\274/README.md" "b/Challenge/SoyeonJang/016.\353\241\234\352\276\270\352\272\274/README.md" new file mode 100644 index 0000000..6528a39 --- /dev/null +++ "b/Challenge/SoyeonJang/016.\353\241\234\352\276\270\352\272\274/README.md" @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git "a/Challenge/SoyeonJang/016.\353\241\234\352\276\270\352\272\274/solve.js" "b/Challenge/SoyeonJang/016.\353\241\234\352\276\270\352\272\274/solve.js" new file mode 100644 index 0000000..ba35dc4 --- /dev/null +++ "b/Challenge/SoyeonJang/016.\353\241\234\352\276\270\352\272\274/solve.js" @@ -0,0 +1,22 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +*/ + +const sentence = prompt('문장을 입력해 주세요!\n거꾸로 바꾸어 드립니다') + +// 1. 메서드 체이닝 +console.log(sentence.split('').reverse().join('')) + +// 2. 함수 호출 +function reverse(str) { + let reverse = str.split('').reverse().join('') + return reverse +} + +console.log(reverse(`${sentence}`)) \ No newline at end of file diff --git a/Challenge/SoyeonJang/017.limit/README.md b/Challenge/SoyeonJang/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Challenge/SoyeonJang/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Challenge/SoyeonJang/017.limit/solve.js b/Challenge/SoyeonJang/017.limit/solve.js new file mode 100644 index 0000000..3ef7d38 --- /dev/null +++ b/Challenge/SoyeonJang/017.limit/solve.js @@ -0,0 +1,17 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. +*/ + +const height = prompt('입장 전 키 확인이 있겠습니다. 본인의 키를 입력해 주세요.') + +if (height >= 150) { + console.log('YES') +} else { + console.log('NO') +} \ No newline at end of file diff --git a/Challenge/SoyeonJang/018.average/README.md b/Challenge/SoyeonJang/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Challenge/SoyeonJang/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Challenge/SoyeonJang/018.average/solve.js b/Challenge/SoyeonJang/018.average/solve.js new file mode 100644 index 0000000..5262d3d --- /dev/null +++ b/Challenge/SoyeonJang/018.average/solve.js @@ -0,0 +1,23 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 +*/ + +const score = prompt('국어, 영어, 수학 점수를 입력해 주세요.').split(' ').map(Number) + +const result = score.reduce(function add(sum, currValue) { + return sum + currValue; +}, 0); + +const average = result / score.length; + +console.log(`평균: ${average} 점`) \ No newline at end of file diff --git a/Challenge/SoyeonJang/019.square/README.md b/Challenge/SoyeonJang/019.square/README.md new file mode 100644 index 0000000..e02a30a --- /dev/null +++ b/Challenge/SoyeonJang/019.square/README.md @@ -0,0 +1,3 @@ +문제19 : 제곱을 구하자 + +공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. \ No newline at end of file diff --git a/Challenge/SoyeonJang/019.square/solve.js b/Challenge/SoyeonJang/019.square/solve.js new file mode 100644 index 0000000..dc93392 --- /dev/null +++ b/Challenge/SoyeonJang/019.square/solve.js @@ -0,0 +1,9 @@ +// 문제19 : 제곱을 구하자 + +// 공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. + +const number = prompt('두 개의 숫자를 입력해 주세요!').split(' ').map(Number) + +const result = Math.pow(number[0], number[1]) + +alert(`${number[0]}의 ${number[1]}승은 ${result}입니다.`) \ No newline at end of file diff --git a/Challenge/SoyeonJang/020.share-remainder/README.md b/Challenge/SoyeonJang/020.share-remainder/README.md new file mode 100644 index 0000000..91c7d9c --- /dev/null +++ b/Challenge/SoyeonJang/020.share-remainder/README.md @@ -0,0 +1,11 @@ +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` \ No newline at end of file diff --git a/Challenge/SoyeonJang/020.share-remainder/solve.js b/Challenge/SoyeonJang/020.share-remainder/solve.js new file mode 100644 index 0000000..0ec4dac --- /dev/null +++ b/Challenge/SoyeonJang/020.share-remainder/solve.js @@ -0,0 +1,19 @@ +/* +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +**입출력** + +입력 : 10 2 +출력 : 5 0 +*/ + +const number = prompt('두 개의 숫자를 입력해 주세요 나누어 드립니다').split(' ').map(Number) + +let divide = Math.floor(number[0] / number[1]) + +let remainder = Math.floor(number[0] % number[1]) + +console.log(divide, remainder) \ No newline at end of file diff --git a/Challenge/SoyeonJang/021.set/README.md b/Challenge/SoyeonJang/021.set/README.md new file mode 100644 index 0000000..255a239 --- /dev/null +++ b/Challenge/SoyeonJang/021.set/README.md @@ -0,0 +1,9 @@ +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); \ No newline at end of file diff --git a/Challenge/SoyeonJang/021.set/solve.js b/Challenge/SoyeonJang/021.set/solve.js new file mode 100644 index 0000000..4d71c05 --- /dev/null +++ b/Challenge/SoyeonJang/021.set/solve.js @@ -0,0 +1,13 @@ +/* +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); + +정답: 3번, 5번 +*/ \ No newline at end of file diff --git a/Challenge/SoyeonJang/022.multiple/README.md b/Challenge/SoyeonJang/022.multiple/README.md new file mode 100644 index 0000000..b4d74cc --- /dev/null +++ b/Challenge/SoyeonJang/022.multiple/README.md @@ -0,0 +1,9 @@ +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 \ No newline at end of file diff --git a/Challenge/SoyeonJang/022.multiple/solve.js b/Challenge/SoyeonJang/022.multiple/solve.js new file mode 100644 index 0000000..6aff5e3 --- /dev/null +++ b/Challenge/SoyeonJang/022.multiple/solve.js @@ -0,0 +1,14 @@ +/* +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 + +정답: 3번 +나머지가 0인지 아닌지로 판별해 6의 배수인지 확인할 수 있음 +*/ \ No newline at end of file diff --git a/Challenge/SoyeonJang/023.OX/README.md b/Challenge/SoyeonJang/023.OX/README.md new file mode 100644 index 0000000..47e0046 --- /dev/null +++ b/Challenge/SoyeonJang/023.OX/README.md @@ -0,0 +1,3 @@ +# 문제23 : OX문제 + +`console.log(10/3)`의 출력 결과는 **3**이다. \ No newline at end of file diff --git a/Challenge/SoyeonJang/023.OX/solve.js b/Challenge/SoyeonJang/023.OX/solve.js new file mode 100644 index 0000000..3d0b923 --- /dev/null +++ b/Challenge/SoyeonJang/023.OX/solve.js @@ -0,0 +1,6 @@ +// # 문제23: OX문제 + +// `console.log(10/3)`의 출력 결과는 ** 3 ** 이다. + +// 정답: X +// Math.floor를 이용해 정수로 출력하면 3으로 나오지만 10/3으로만 출력했을 때 소숫점까지 출력됨 \ No newline at end of file diff --git a/Challenge/SoyeonJang/024.toUpperCase/README.md b/Challenge/SoyeonJang/024.toUpperCase/README.md new file mode 100644 index 0000000..a5e5142 --- /dev/null +++ b/Challenge/SoyeonJang/024.toUpperCase/README.md @@ -0,0 +1,12 @@ +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +```jsx +**입출력** + +입력 : mary +출력 : MARY +``` \ No newline at end of file diff --git a/Challenge/SoyeonJang/024.toUpperCase/solve.js b/Challenge/SoyeonJang/024.toUpperCase/solve.js new file mode 100644 index 0000000..cafa61d --- /dev/null +++ b/Challenge/SoyeonJang/024.toUpperCase/solve.js @@ -0,0 +1,15 @@ +/* +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +**입출력** + +입력 : mary +출력 : MARY +*/ + +const str = prompt('소문자 이름을 입력하면 대문자로 변경해 드립니다') +console.log(str.toUpperCase()) \ No newline at end of file diff --git a/Challenge/SoyeonJang/025.circle-area/README.md b/Challenge/SoyeonJang/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Challenge/SoyeonJang/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Challenge/SoyeonJang/025.circle-area/solve.js b/Challenge/SoyeonJang/025.circle-area/solve.js new file mode 100644 index 0000000..f97da0d --- /dev/null +++ b/Challenge/SoyeonJang/025.circle-area/solve.js @@ -0,0 +1,15 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + +const n = prompt('넓이를 구할 원의 반지름을 입력해 주세요.') + +function circleArea(radius) { + let area = radius * radius * 3.14 + console.log(`원의 넓이는 ${area}cm입니다.`) +} + +circleArea(n) \ No newline at end of file diff --git a/Challenge/SoyeonJang/026.planet_2/README.md b/Challenge/SoyeonJang/026.planet_2/README.md new file mode 100644 index 0000000..678e82a --- /dev/null +++ b/Challenge/SoyeonJang/026.planet_2/README.md @@ -0,0 +1,6 @@ +# 문제26 : 행성 문제2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git a/Challenge/SoyeonJang/026.planet_2/solve.js b/Challenge/SoyeonJang/026.planet_2/solve.js new file mode 100644 index 0000000..0f37d3b --- /dev/null +++ b/Challenge/SoyeonJang/026.planet_2/solve.js @@ -0,0 +1,19 @@ +// 문제26 : 행성 문제2 + +// 우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +// 이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +// 행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. + +let planet = { + 수성: "Mercury", + 금성: "Venus", + 지구: "Earth", + 화성: "Mars", + 목성: "Jupiter", + 토성: "Saturn", + 천왕성: "Uranus", + 해왕성: "Neptune" +} + +console.log(planet.수성) \ No newline at end of file diff --git a/Challenge/SoyeonJang/027.object/README.md b/Challenge/SoyeonJang/027.object/README.md new file mode 100644 index 0000000..9b83945 --- /dev/null +++ b/Challenge/SoyeonJang/027.object/README.md @@ -0,0 +1,14 @@ +# 문제27 : 객체 만들기 + +첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +```jsx +**입력** +Yujin Hyewon +70 100 + +**출력** +{'Yujin': 70, 'Hyewon': 100} +``` \ No newline at end of file diff --git a/Challenge/SoyeonJang/027.object/solve.js b/Challenge/SoyeonJang/027.object/solve.js new file mode 100644 index 0000000..1cd501a --- /dev/null +++ b/Challenge/SoyeonJang/027.object/solve.js @@ -0,0 +1,21 @@ +// # 문제27 : 객체 만들기 + +// 첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +// 두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +// **입력** +// Yujin Hyewon +// 70 100 + +// **출력** +// {'Yujin': 70, 'Hyewon': 100} + +const input = prompt("학생의 이름과 수학 점수를 차례대로 입력해 주세요").split( + " " +) + +input.reduce(function (object, value) { + object[input[0]] = parseInt(value) + return object +}, {}) diff --git a/Challenge/SoyeonJang/028.2-gram/README.md b/Challenge/SoyeonJang/028.2-gram/README.md new file mode 100644 index 0000000..3a0dfe1 --- /dev/null +++ b/Challenge/SoyeonJang/028.2-gram/README.md @@ -0,0 +1,23 @@ +# 문제28 : 2-gram + +**2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +```jsx +**입력** +Javascript + +**출력** +J a +a v +v a +a s +s c +c r +r i +i p +p t +``` + +입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. \ No newline at end of file diff --git a/Challenge/SoyeonJang/028.2-gram/solve.js b/Challenge/SoyeonJang/028.2-gram/solve.js new file mode 100644 index 0000000..8a7da50 --- /dev/null +++ b/Challenge/SoyeonJang/028.2-gram/solve.js @@ -0,0 +1,27 @@ +// # 문제28 : 2-gram + +// **2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +// 예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +// **입력** +// Javascript + +// **출력** +// J a +// a v +// v a +// a s +// s c +// c r +// r i +// i p +// p t + +// 입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. + +let sentence = prompt("단어를 입력해 주세요").split("") + +for (let i = 0; i < sentence.length; i++) { + console.log(sentence[i], sentence[i + 1]) +} diff --git "a/Challenge/SoyeonJang/029.\353\214\200\353\254\270\354\236\220/README.md" "b/Challenge/SoyeonJang/029.\353\214\200\353\254\270\354\236\220/README.md" new file mode 100644 index 0000000..287a235 --- /dev/null +++ "b/Challenge/SoyeonJang/029.\353\214\200\353\254\270\354\236\220/README.md" @@ -0,0 +1,5 @@ +# 문제29 : 대문자만 지나가세요 + +진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git "a/Challenge/SoyeonJang/029.\353\214\200\353\254\270\354\236\220/solve.js" "b/Challenge/SoyeonJang/029.\353\214\200\353\254\270\354\236\220/solve.js" new file mode 100644 index 0000000..0273fc4 --- /dev/null +++ "b/Challenge/SoyeonJang/029.\353\214\200\353\254\270\354\236\220/solve.js" @@ -0,0 +1,14 @@ +// 문제29 : 대문자만 지나가세요 + +// 진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +// 알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. + +const alphabet = prompt("한 개의 알파벳을 입력해 주세요") +const upperCaseStr = alphabet.toUpperCase() + +if (alphabet === upperCaseStr) { + console.log("YES") +} else { + console.log("No") +} diff --git a/Challenge/SoyeonJang/030.find-string/README.md b/Challenge/SoyeonJang/030.find-string/README.md new file mode 100644 index 0000000..b2f4ed6 --- /dev/null +++ b/Challenge/SoyeonJang/030.find-string/README.md @@ -0,0 +1,15 @@ +# 문제30 : 문자열 속 문자 찾기 + +문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +**그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +```jsx +**입력** +pineapple is yummy +apple + +**출력** +4 +``` \ No newline at end of file diff --git a/Challenge/SoyeonJang/030.find-string/solve.js b/Challenge/SoyeonJang/030.find-string/solve.js new file mode 100644 index 0000000..310294e --- /dev/null +++ b/Challenge/SoyeonJang/030.find-string/solve.js @@ -0,0 +1,21 @@ +// # 문제30 : 문자열 속 문자 찾기 + +// 문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +// 첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +// **그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +// ```jsx +// **입력** +// pineapple is yummy +// apple + +// **출력** +// 4 +// ``` + +const firstStr = prompt("문자를 입력해 주세요") + +const secondStr = prompt("입력하신 단어에서 찾을 문자를 입력해 주세요") + +console.log("찾는 단어의 인덱스 위치 : " + firstStr.indexOf(secondStr)) diff --git a/Challenge/SoyeonJang/031.timeComplexity/README.md b/Challenge/SoyeonJang/031.timeComplexity/README.md new file mode 100644 index 0000000..c10ae55 --- /dev/null +++ b/Challenge/SoyeonJang/031.timeComplexity/README.md @@ -0,0 +1,9 @@ +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() +4) arr.pop() +5) arr.includes(5) \ No newline at end of file diff --git a/Challenge/SoyeonJang/031.timeComplexity/solve.js b/Challenge/SoyeonJang/031.timeComplexity/solve.js new file mode 100644 index 0000000..d105aeb --- /dev/null +++ b/Challenge/SoyeonJang/031.timeComplexity/solve.js @@ -0,0 +1,13 @@ +/* +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() +4) arr.pop() +5) arr.includes(5) +*/ + +// 정답: 3, 5번 diff --git "a/Challenge/SoyeonJang/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" "b/Challenge/SoyeonJang/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" new file mode 100644 index 0000000..53459f4 --- /dev/null +++ "b/Challenge/SoyeonJang/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" @@ -0,0 +1,13 @@ +# 문제32 : 문자열 만들기 + +취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +혜림이를 위해 **문자열을 입력받으면 단어의 갯수를 출력하는 프로그램**을 작성해 주세요. + +```jsx +**입력** +안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +**출력** +5 +``` diff --git "a/Challenge/SoyeonJang/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" "b/Challenge/SoyeonJang/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" new file mode 100644 index 0000000..10c887c --- /dev/null +++ "b/Challenge/SoyeonJang/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" @@ -0,0 +1,17 @@ +// # 문제32 : 문자열 만들기 + +// 취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +// 혜림이를 위해 문자열을 입력받으면 단어의 갯수를 출력하는 프로그램을 작성해 주세요. + +// ```jsx +// **입력** +// 안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +// **출력** +// 5 +// ``` + +const str = prompt("문자열을 입력하면 단어 개수를 세어 드립니다.").split(" ") + +console.log(str.length) diff --git a/Challenge/SoyeonJang/033.Reverse/README.md b/Challenge/SoyeonJang/033.Reverse/README.md new file mode 100644 index 0000000..7d450ce --- /dev/null +++ b/Challenge/SoyeonJang/033.Reverse/README.md @@ -0,0 +1,13 @@ +# 문제33 : 거꾸로 출력하기 + +한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +```jsx +**입출력** +입력 : 1 2 3 4 5 +출력 : 5 4 3 2 1 + +**출력** +입력 : 2 4 6 7 8 +출력 : 8 7 6 4 2 +``` diff --git a/Challenge/SoyeonJang/033.Reverse/solve.js b/Challenge/SoyeonJang/033.Reverse/solve.js new file mode 100644 index 0000000..c555abe --- /dev/null +++ b/Challenge/SoyeonJang/033.Reverse/solve.js @@ -0,0 +1,22 @@ +// # 문제33 : 거꾸로 출력하기 + +// 한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +// ```jsx +// **입출력** +// 입력 : 1 2 3 4 5 +// 출력 : 5 4 3 2 1 + +// **출력** +// 입력 : 2 4 6 7 8 +// 출력 : 8 7 6 4 2 +// ``` + +const num = prompt("숫자를 하나씩 입력해 주세요.").split(" ").reverse() +let output = "" + +for (let i = 0; i < num.length; i++) { + output += num[i] + " " +} + +console.log(output) diff --git a/Challenge/SoyeonJang/034.Sort/README.md b/Challenge/SoyeonJang/034.Sort/README.md new file mode 100644 index 0000000..2d7e610 --- /dev/null +++ b/Challenge/SoyeonJang/034.Sort/README.md @@ -0,0 +1,15 @@ +# 문제34 : sort 구현하기 + +민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +(키는 공백으로 구분하여 입력됩니다.) + +```jsx +**입출력** +입력 : 176 156 155 165 166 169 +출력 : NO + +입력 : 155 156 165 166 169 176 +출력 : YES +``` diff --git a/Challenge/SoyeonJang/034.Sort/solve.js b/Challenge/SoyeonJang/034.Sort/solve.js new file mode 100644 index 0000000..7f680bc --- /dev/null +++ b/Challenge/SoyeonJang/034.Sort/solve.js @@ -0,0 +1,31 @@ +// # 문제34 : sort 구현하기 + +// 민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +// 민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +// (키는 공백으로 구분하여 입력됩니다.) + +// ```jsx +// **입출력** +// 입력 : 176 156 155 165 166 169 +// 출력 : NO + +// 입력 : 155 156 165 166 169 176 +// 출력 : YES +// ``` + +const height = "155 156 165 166 169 176"; +let sort = ""; + +sort = height + .split(" ") + .sort(function (a, b) { + return a - b; + }) + .join(" "); + +if (height === sort) { + console.log("YES"); +} else { + console.log("NO"); +} diff --git a/Challenge/SoyeonJang/035.function/README.md b/Challenge/SoyeonJang/035.function/README.md new file mode 100644 index 0000000..5e4b62a --- /dev/null +++ b/Challenge/SoyeonJang/035.function/README.md @@ -0,0 +1,22 @@ +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` \ No newline at end of file diff --git a/Challenge/SoyeonJang/035.function/solve.js b/Challenge/SoyeonJang/035.function/solve.js new file mode 100644 index 0000000..8b0e6e9 --- /dev/null +++ b/Challenge/SoyeonJang/035.function/solve.js @@ -0,0 +1,22 @@ +/* +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +*/ +function one(n) { + function two(x) { + return Math.pow(x, n); + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); diff --git a/Challenge/SoyeonJang/036.Multiplication_Table/README.md b/Challenge/SoyeonJang/036.Multiplication_Table/README.md new file mode 100644 index 0000000..3691735 --- /dev/null +++ b/Challenge/SoyeonJang/036.Multiplication_Table/README.md @@ -0,0 +1,10 @@ +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` \ No newline at end of file diff --git a/Challenge/SoyeonJang/036.Multiplication_Table/solve.js b/Challenge/SoyeonJang/036.Multiplication_Table/solve.js new file mode 100644 index 0000000..9aff490 --- /dev/null +++ b/Challenge/SoyeonJang/036.Multiplication_Table/solve.js @@ -0,0 +1,21 @@ +/* +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` +*/ + +const level = prompt("몇 단을 계산해 볼까요?"); +let result = ""; + +for (let i = 1; i < 10; i++) { + result = result + level * i + " "; +} + +console.log(result); diff --git "a/Challenge/SoyeonJang/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" "b/Challenge/SoyeonJang/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" new file mode 100644 index 0000000..18cac02 --- /dev/null +++ "b/Challenge/SoyeonJang/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" @@ -0,0 +1,11 @@ +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` \ No newline at end of file diff --git "a/Challenge/SoyeonJang/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" "b/Challenge/SoyeonJang/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" new file mode 100644 index 0000000..5ab8e16 --- /dev/null +++ "b/Challenge/SoyeonJang/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" @@ -0,0 +1,28 @@ +/* +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` +*/ + +const nameArr = prompt("이름을 입력해 주세요.").split(" "); +let result = {}; +let winner = ""; + +for (let index in nameArr) { + let val = nameArr[index]; + result[val] = result[val] === undefined ? 1 : (result[val] = result[val] + 1); +} + +winner = Object.keys(result).reduce(function (a, b) { + return result[a] > result[b] ? a : b; +}); + +console.log(`${winner}(이)가 총 ${result[winner]}표로 반장이 되었습니다.`); diff --git "a/Challenge/SoyeonJang/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" "b/Challenge/SoyeonJang/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" new file mode 100644 index 0000000..36a32d4 --- /dev/null +++ "b/Challenge/SoyeonJang/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" @@ -0,0 +1,13 @@ +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` \ No newline at end of file diff --git "a/Challenge/SoyeonJang/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" "b/Challenge/SoyeonJang/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" new file mode 100644 index 0000000..da16758 --- /dev/null +++ "b/Challenge/SoyeonJang/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" @@ -0,0 +1,36 @@ +/* +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` +*/ + +const scores = "97 86 75 66 55 97 85 97 97 95".split(" "); + +scores.sort((a, b) => { + return a - b; +}); +console.log(scores); + +let top3 = []; +let count = 0; + +while (top3.length < 3) { + let value = scores.pop(); + if (!top3.includes(value)) { + top3.push(value); + } + count++; +} + +console.log(top3); +console.log(count); diff --git "a/Challenge/SoyeonJang/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" "b/Challenge/SoyeonJang/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" new file mode 100644 index 0000000..3b0af06 --- /dev/null +++ "b/Challenge/SoyeonJang/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" @@ -0,0 +1,18 @@ +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +``` \ No newline at end of file diff --git "a/Challenge/SoyeonJang/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" "b/Challenge/SoyeonJang/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" new file mode 100644 index 0000000..5060633 --- /dev/null +++ "b/Challenge/SoyeonJang/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" @@ -0,0 +1,24 @@ +/* +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +``` +*/ + +const str = "hqllo my namq is hyqwon"; +const replaceStr = str.replace("q", "e"); +console.log(replaceStr); diff --git "a/Challenge/SoyeonJang/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" "b/Challenge/SoyeonJang/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" new file mode 100644 index 0000000..324d030 --- /dev/null +++ "b/Challenge/SoyeonJang/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" @@ -0,0 +1,22 @@ +# 문제40 : 놀이동산에 가자 + +테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다. + +**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.** + +첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. +그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다. + +```jsx +**입력** +50 +5 +20 +20 +20 +20 +20 + +**출력** +2 +``` \ No newline at end of file diff --git "a/Challenge/SoyeonJang/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" "b/Challenge/SoyeonJang/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" new file mode 100644 index 0000000..c7cc210 --- /dev/null +++ "b/Challenge/SoyeonJang/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" @@ -0,0 +1,40 @@ +/* +# 문제40 : 놀이동산에 가자 + +테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다. + +**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.** + +첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. +그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다. + +```jsx +**입력** +50 +5 +20 +20 +20 +20 +20 + +**출력** +2 +``` +*/ + +const limit = prompt("제한 무게를 입력해 주세요."); +const person = prompt("총 탑승 인원을 입력해 주세요."); +const weight = prompt("탑승 인원의 몸무게를 각각 입력해 주세요.").split(" "); + +let total = 0; +let count = 0; + +for (let i = 0; i < weight.length; i++) { + total += parseInt(weight[i]); + if (total < limit) { + count++; + } +} + +console.log(count + "명 탑승 가능합니다."); diff --git "a/Challenge/SoyeonJang/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" "b/Challenge/SoyeonJang/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" new file mode 100644 index 0000000..11c15e3 --- /dev/null +++ "b/Challenge/SoyeonJang/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" @@ -0,0 +1,5 @@ +# 문제41 : 소수판별 + +숫자가 주어지면 **소수인지 아닌지 판별하는 프로그램**을 작성해주세요. +소수이면 YES로, 소수가 아니면 NO로 출력해주세요. +(소수 : 1과 자기 자신만으로 나누어떨어지는 1보다 큰 양의 정수) \ No newline at end of file diff --git "a/Challenge/SoyeonJang/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" "b/Challenge/SoyeonJang/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" new file mode 100644 index 0000000..92bcb36 --- /dev/null +++ "b/Challenge/SoyeonJang/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" @@ -0,0 +1,25 @@ +/* +# 문제41 : 소수판별 + +숫자가 주어지면 **소수인지 아닌지 판별하는 프로그램**을 작성해주세요. +소수이면 YES로, 소수가 아니면 NO로 출력해주세요. +(소수 : 1과 자기 자신만으로 나누어떨어지는 1보다 큰 양의 정수) +*/ + +const num = prompt("숫자를 입력해 주세요. 소수인지 알려드립니다."); + +function primeNum(num) { + for (let i = 2; i < num; i++) { + if (num % i === 0) { + console.log("NO"); + return false; + } + } + if (num === 1) { + console.log("NO"); + return; + } + console.log("YES"); +} + +primeNum(num); diff --git "a/Challenge/SoyeonJang/042.2020\353\205\204/README.md" "b/Challenge/SoyeonJang/042.2020\353\205\204/README.md" new file mode 100644 index 0000000..6fc7600 --- /dev/null +++ "b/Challenge/SoyeonJang/042.2020\353\205\204/README.md" @@ -0,0 +1,12 @@ +# 문제42 : 2020년 + +2020년 1월 1일은 수요일입니다. 2020년 a월 b일은 무슨 요일일까요? +두 수 a, b를 입력받아 2020년 a월 b일이 무슨 요일인지 리턴하는 함수 solution을 완성하세요. +요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT 입니다. + +예를 들어 a = 5, b = 24라면 5월 24일은 일요일이므로 문자열 "SUN"를 반환하세요. + +**제한 조건** +2020년은 윤년입니다. +2020년 a월 b일은 실제로 있는 날입니다. +(13월 26일이나 2월 45일 같은 날짜는 주어지지 않습니다.) \ No newline at end of file diff --git "a/Challenge/SoyeonJang/042.2020\353\205\204/solve.js" "b/Challenge/SoyeonJang/042.2020\353\205\204/solve.js" new file mode 100644 index 0000000..061d924 --- /dev/null +++ "b/Challenge/SoyeonJang/042.2020\353\205\204/solve.js" @@ -0,0 +1,26 @@ +/* +# 문제42 : 2020년 + +2020년 1월 1일은 수요일입니다. 2020년 a월 b일은 무슨 요일일까요? +두 수 a, b를 입력받아 2020년 a월 b일이 무슨 요일인지 리턴하는 함수 solution을 완성하세요. +요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT 입니다. + +예를 들어 a = 5, b = 24라면 5월 24일은 일요일이므로 문자열 "SUN"를 반환하세요. + +**제한 조건** +2020년은 윤년입니다. +2020년 a월 b일은 실제로 있는 날입니다. +(13월 26일이나 2월 45일 같은 날짜는 주어지지 않습니다.) +*/ + +const month = 5; +const date = 24; + +function calendar(a, b) { + const day = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]; + + const x = new Date("2020-" + a + "-" + b); + return day[x.getDay()]; +} + +console.log(calendar(month, date)); diff --git "a/Challenge/SoyeonJang/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/README.md" "b/Challenge/SoyeonJang/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/README.md" new file mode 100644 index 0000000..1f52218 --- /dev/null +++ "b/Challenge/SoyeonJang/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/README.md" @@ -0,0 +1,6 @@ +# 문제43 : 10진수를 2진수로 + +우리가 흔히 사용하는 숫자 1, 8, 19, 28893 등등...은 10진수 체계입니다. +이를 컴퓨터가 알아 들을 수 있는 2진수로 바꾸려고 합니다. 어떻게 해야할까요? + +**사용자에게 숫자를 입력받고 이를 2진수를 바꾸고 그 값을 출력해주세요.** \ No newline at end of file diff --git "a/Challenge/SoyeonJang/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/solve.js" "b/Challenge/SoyeonJang/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/solve.js" new file mode 100644 index 0000000..f5644bb --- /dev/null +++ "b/Challenge/SoyeonJang/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/solve.js" @@ -0,0 +1,13 @@ +/* +# 문제43 : 10진수를 2진수로 + +우리가 흔히 사용하는 숫자 1, 8, 19, 28893 등등...은 10진수 체계입니다. +이를 컴퓨터가 알아 들을 수 있는 2진수로 바꾸려고 합니다. 어떻게 해야할까요? + +**사용자에게 숫자를 입력받고 이를 2진수를 바꾸고 그 값을 출력해주세요.** +*/ + +const decimal = prompt("이진수로 변환할 십진수를 입력해 주세요."); +const binary = decimal.toString(2); + +console.log(binary); diff --git "a/Challenge/SoyeonJang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/README.md" "b/Challenge/SoyeonJang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/README.md" new file mode 100644 index 0000000..c581b86 --- /dev/null +++ "b/Challenge/SoyeonJang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/README.md" @@ -0,0 +1,17 @@ +# 문제44 : 각 자리수의 합 + +**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 + +**예를들어** +18234 = 1+8+2+3+4 이고 정답은 18 입니다. +3849 = 3+8+4+9 이고 정답은 24입니다. + +```jsx +**입출력** + +입력 : 18234 +출력 : 18 + +입력 : 3849 +출력 : 24 +``` \ No newline at end of file diff --git "a/Challenge/SoyeonJang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/solve.js" "b/Challenge/SoyeonJang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/solve.js" new file mode 100644 index 0000000..95e50f3 --- /dev/null +++ "b/Challenge/SoyeonJang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/solve.js" @@ -0,0 +1,29 @@ +/* +# 문제44 : 각 자리수의 합 + +**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 + +**예를들어** +18234 = 1+8+2+3+4 이고 정답은 18 입니다. +3849 = 3+8+4+9 이고 정답은 24입니다. + +```jsx +**입출력** + +입력 : 18234 +출력 : 18 + +입력 : 3849 +출력 : 24 +``` +*/ + +let num = 18234; +let sum = 0; + +while (num !== 0) { + sum += num % 10; + num = Math.floor(num / 10); +} + +console.log(sum); diff --git a/Challenge/SubinChoi/010.star/README.md b/Challenge/SubinChoi/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Challenge/SubinChoi/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Challenge/SubinChoi/010.star/solve.js b/Challenge/SubinChoi/010.star/solve.js new file mode 100644 index 0000000..0dcbe82 --- /dev/null +++ b/Challenge/SubinChoi/010.star/solve.js @@ -0,0 +1,31 @@ +/* +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +*/ + +let tree = ""; +for (let i = 1; i <= 5; i++) { + let star = ""; + for (let j = 1; j <= 5 - i; j++) { + star += " "; + } + for (let k = 1; k <= 2 * i - 1; k++) { + star += "*"; + } + tree += star + "\n"; +} +console.log(tree); diff --git a/Challenge/SubinChoi/011.for/README.md b/Challenge/SubinChoi/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Challenge/SubinChoi/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/SubinChoi/011.for/solve.js b/Challenge/SubinChoi/011.for/solve.js new file mode 100644 index 0000000..fd4d891 --- /dev/null +++ b/Challenge/SubinChoi/011.for/solve.js @@ -0,0 +1,17 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +let s = 0; + +//pass + +console.log(s); +*/ + +let s = 0; +for (let i = 1; i <= 100; i++) { + s += i; +} +console.log(s); diff --git a/Challenge/SubinChoi/012.class/README.md b/Challenge/SubinChoi/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Challenge/SubinChoi/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Challenge/SubinChoi/012.class/solve.js b/Challenge/SubinChoi/012.class/solve.js new file mode 100644 index 0000000..ebf42bb --- /dev/null +++ b/Challenge/SubinChoi/012.class/solve.js @@ -0,0 +1,32 @@ +/* +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +*/ + +class Wizard { + constructor(health, mana, armor) { + this.health = health; + this.mana = mana; + this.armor = armor; + } + attack() { + console.log("파이어볼"); + } +} + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); diff --git a/Challenge/SubinChoi/013.find-planet/README.md b/Challenge/SubinChoi/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Challenge/SubinChoi/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Challenge/SubinChoi/013.find-planet/solve.js b/Challenge/SubinChoi/013.find-planet/solve.js new file mode 100644 index 0000000..937f862 --- /dev/null +++ b/Challenge/SubinChoi/013.find-planet/solve.js @@ -0,0 +1,115 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ + +// const arr = [ +// "수성", +// "금성", +// "지구", +// "화성", +// "목성", +// "토성", +// "천왕성", +// "해왕성", +// ]; +// 1트 +// const answer = prompt("숫자를 입력해주세요"); +// if (answer > 8 || answer < 1) { +// alert("다시 입력해주세요"); +// prompt("숫자를 입력해주세요"); +// console.log(arr[answer - 1]); +// } else { +// console.log(arr[answer - 1]); +// } + +// 오류 +// function galaxy() { +// const answer = prompt("숫자를 입력해주세요"); +// if ((answer > 8 || answer < 1) && typeof answer !== "number") { +// console.log(typeof answer); +// // alert("1과 8사이 숫자로 다시 입력해주세요"); +// return galaxy(); +// } +// console.log(arr[answer - 1]); +// } + +// galaxy(); + +// function galaxy() { +// const answer = prompt("1부터 8사이의 숫자를 입력해주세요"); + +// if (Number(answer) > 8 || Number(answer) < 1) { +// alert("다시 입력해주세요!"); +// return galaxy(); +// } +// console.log(arr[answer - 1]); +// } + +// galaxy(); + +// prompt 는 사용자의 입력값을 모두 문자열로 처리해줌 +// 1. 숫자로 바꾸고 NaN인지 확인 +// NaN == NaN false라서 안됨 +// function galaxy() { +// const answer = prompt("숫자를 입력해주세요"); +// if (Number(answer) == NaN) { +// return galaxy(); +// } else if (Number(answer) > 8 || Number(answer) < 1) { +// alert("1-8 사이의 수를 입력해주세요!"); +// return galaxy(); +// } +// console.log(arr[answer - 1]); +// } + +// galaxy(); + +// 정답 +const arr = [ + "수성", + "금성", + "지구", + "화성", + "목성", + "토성", + "천왕성", + "해왕성", +]; + +//1. isNaN +// function galaxy() { +// const answer = prompt("숫자를 입력해주세요"); +// if (isNaN(Number(answer))) { +// alert("숫자만 입력이 가능합니다."); +// return galaxy(); +// } else if (Number(answer) > 8 || Number(answer) < 1) { +// alert("1-8 사이의 수를 입력해주세요!"); +// return galaxy(); +// } +// console.log(arr[answer - 1]); +// } + +// galaxy(); +// 2. 정규식 사용 +function galaxy() { + const regExp = /[1-8]/g; + const answer = prompt("숫자를 입력해주세요"); + if (!regExp.test(Number(answer))) { + alert("1-8사이의 숫자만 입력이 가능합니다."); + return galaxy(); + } + console.log(arr[answer - 1]); +} + +galaxy(); diff --git a/Challenge/SubinChoi/014.if/README.md b/Challenge/SubinChoi/014.if/README.md new file mode 100644 index 0000000..488df61 --- /dev/null +++ b/Challenge/SubinChoi/014.if/README.md @@ -0,0 +1,17 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +```jsx +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +``` \ No newline at end of file diff --git a/Challenge/SubinChoi/014.if/solve.js b/Challenge/SubinChoi/014.if/solve.js new file mode 100644 index 0000000..7f08572 --- /dev/null +++ b/Challenge/SubinChoi/014.if/solve.js @@ -0,0 +1,24 @@ +/* +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +*/ + +const input = Number(prompt("숫자를 입력해주세요")); +if (input % 3 == 0 && input != 0) { + console.log("짝"); +} else { + console.log(input); +} diff --git a/Challenge/SubinChoi/015.template _literals/README.md b/Challenge/SubinChoi/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Challenge/SubinChoi/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Challenge/SubinChoi/015.template _literals/solve.js b/Challenge/SubinChoi/015.template _literals/solve.js new file mode 100644 index 0000000..8d2a089 --- /dev/null +++ b/Challenge/SubinChoi/015.template _literals/solve.js @@ -0,0 +1,16 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +*/ + +const input = prompt("당신의 이름은?"); +console.log(`안녕하세요. 저는 ${input}입니다.`); diff --git "a/Challenge/SubinChoi/016.\353\241\234\352\276\270\352\272\274/README.md" "b/Challenge/SubinChoi/016.\353\241\234\352\276\270\352\272\274/README.md" new file mode 100644 index 0000000..6528a39 --- /dev/null +++ "b/Challenge/SubinChoi/016.\353\241\234\352\276\270\352\272\274/README.md" @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git "a/Challenge/SubinChoi/016.\353\241\234\352\276\270\352\272\274/solve.js" "b/Challenge/SubinChoi/016.\353\241\234\352\276\270\352\272\274/solve.js" new file mode 100644 index 0000000..ae3f4c8 --- /dev/null +++ "b/Challenge/SubinChoi/016.\353\241\234\352\276\270\352\272\274/solve.js" @@ -0,0 +1,26 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +*/ + +//구차한 나의 답.. +const input = prompt("거꾸로 출력하고 싶은 단어를 입력하세요"); + +let upsideDown = ""; +for (let i = input.length - 1; i >= 0; i--) { + upsideDown += input[i]; +} +console.log(upsideDown); + +/*훨씬 깔끔하고 좋은 정답 +const reverseString = n.split('').reverse().join('');*/ +/* + * split() 메서드는 문자열을 배열로 만들어 반환하고, << 이 부분을 놓쳤음 + * reverse() 메서드는 배열의 순서를 반전하며, + * join() 메서드는 원소를 모두 붙여 문자열로 반환합니다. + */ diff --git a/Challenge/SubinChoi/017.limit/README.md b/Challenge/SubinChoi/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Challenge/SubinChoi/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Challenge/SubinChoi/017.limit/solve.js b/Challenge/SubinChoi/017.limit/solve.js new file mode 100644 index 0000000..6f04c6d --- /dev/null +++ b/Challenge/SubinChoi/017.limit/solve.js @@ -0,0 +1,12 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. +*/ + +const input = prompt("당신의 키는?"); +input >= 150 ? console.log("YES") : console.log("NO"); diff --git a/Challenge/SubinChoi/018.average/README.md b/Challenge/SubinChoi/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Challenge/SubinChoi/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Challenge/SubinChoi/018.average/solve.js b/Challenge/SubinChoi/018.average/solve.js new file mode 100644 index 0000000..f6f2c98 --- /dev/null +++ b/Challenge/SubinChoi/018.average/solve.js @@ -0,0 +1,21 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 + +*/ + +const input = prompt("국어 수학 영어의 점수를 한번에 입력해주세요"); +const sum = input + .split(" ") + .map((ele) => Number(ele)) + .reduce((acc, cur) => (acc += cur), 0); +console.log((sum / 3).toFixed()); diff --git a/Challenge/SubinChoi/019.square/README.md b/Challenge/SubinChoi/019.square/README.md new file mode 100644 index 0000000..e02a30a --- /dev/null +++ b/Challenge/SubinChoi/019.square/README.md @@ -0,0 +1,3 @@ +문제19 : 제곱을 구하자 + +공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. \ No newline at end of file diff --git a/Challenge/SubinChoi/019.square/solve.js b/Challenge/SubinChoi/019.square/solve.js new file mode 100644 index 0000000..20a9b0d --- /dev/null +++ b/Challenge/SubinChoi/019.square/solve.js @@ -0,0 +1,8 @@ +// 문제19 : 제곱을 구하자 + +// 공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. + +const [num1, num2] = prompt("두 숫자를 입력해주세요") + .split(" ") + .map((ele) => parseInt(ele)); +console.log(num1 ** num2); diff --git a/Challenge/SubinChoi/020.share-remainder/README.md b/Challenge/SubinChoi/020.share-remainder/README.md new file mode 100644 index 0000000..91c7d9c --- /dev/null +++ b/Challenge/SubinChoi/020.share-remainder/README.md @@ -0,0 +1,11 @@ +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` \ No newline at end of file diff --git a/Challenge/SubinChoi/020.share-remainder/solve.js b/Challenge/SubinChoi/020.share-remainder/solve.js new file mode 100644 index 0000000..3bfc175 --- /dev/null +++ b/Challenge/SubinChoi/020.share-remainder/solve.js @@ -0,0 +1,19 @@ +/* +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +**입출력** + +입력 : 10 2 +출력 : 5 0 +*/ + +//parseInt() 함수는 문자열 인자를 파싱하여 특정 진수(수의 진법 체계에서 기준이 되는 값)의 정수를 반환 +//Math.trunc()는 버림. 함수는 주어진 값의 소수부분을 제거하고 숫자의 정수부분을 반환, 음수에서도 정확하게 동작한다 +// Math.floor는 내림으로 동작하기 때문에 음수의 나눗셈 예를들어 -10/3에서 -4을 반환 +const [num1, num2] = prompt("숫자 두개를 입력해주세요") + .split(" ") + .map((ele) => parseInt(ele)); +console.log(`${Math.trunc(num1 / num2)} ${num1 % num2}`); diff --git a/Challenge/SubinChoi/021.set/README.md b/Challenge/SubinChoi/021.set/README.md new file mode 100644 index 0000000..255a239 --- /dev/null +++ b/Challenge/SubinChoi/021.set/README.md @@ -0,0 +1,9 @@ +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); \ No newline at end of file diff --git a/Challenge/SubinChoi/021.set/solve.js b/Challenge/SubinChoi/021.set/solve.js new file mode 100644 index 0000000..4d55d6e --- /dev/null +++ b/Challenge/SubinChoi/021.set/solve.js @@ -0,0 +1,11 @@ +/* +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. +*/ + +//1) var x = {1, 2, 3, 5, 6, 7}; +//2) var x = {}; +var x = new Set("javascript"); +// 4) var x = new Set(range(5)); +var x = new Set(); diff --git a/Challenge/SubinChoi/022.multiple/README.md b/Challenge/SubinChoi/022.multiple/README.md new file mode 100644 index 0000000..b4d74cc --- /dev/null +++ b/Challenge/SubinChoi/022.multiple/README.md @@ -0,0 +1,9 @@ +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 \ No newline at end of file diff --git a/Challenge/SubinChoi/022.multiple/solve.js b/Challenge/SubinChoi/022.multiple/solve.js new file mode 100644 index 0000000..3a1384e --- /dev/null +++ b/Challenge/SubinChoi/022.multiple/solve.js @@ -0,0 +1,11 @@ +/* +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? +*/ + +// 1) i / 6 == 0 +i % 6 == 0; +// 3) i & 6 == 0 +// 4) i | 6 == 0 +// 5) i // 6 == 0 diff --git a/Challenge/SubinChoi/023.OX/README.md b/Challenge/SubinChoi/023.OX/README.md new file mode 100644 index 0000000..47e0046 --- /dev/null +++ b/Challenge/SubinChoi/023.OX/README.md @@ -0,0 +1,3 @@ +# 문제23 : OX문제 + +`console.log(10/3)`의 출력 결과는 **3**이다. \ No newline at end of file diff --git a/Challenge/SubinChoi/023.OX/solve.js b/Challenge/SubinChoi/023.OX/solve.js new file mode 100644 index 0000000..4d4aac1 --- /dev/null +++ b/Challenge/SubinChoi/023.OX/solve.js @@ -0,0 +1,6 @@ +// # 문제23: OX문제 + +// `console.log(10/3)`의 출력 결과는 ** 3 ** 이다. + +//X +//console.log(Math.floor(10/3)) diff --git a/Challenge/SubinChoi/024.toUpperCase/README.md b/Challenge/SubinChoi/024.toUpperCase/README.md new file mode 100644 index 0000000..a5e5142 --- /dev/null +++ b/Challenge/SubinChoi/024.toUpperCase/README.md @@ -0,0 +1,12 @@ +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +```jsx +**입출력** + +입력 : mary +출력 : MARY +``` \ No newline at end of file diff --git a/Challenge/SubinChoi/024.toUpperCase/solve.js b/Challenge/SubinChoi/024.toUpperCase/solve.js new file mode 100644 index 0000000..67ef7c8 --- /dev/null +++ b/Challenge/SubinChoi/024.toUpperCase/solve.js @@ -0,0 +1,16 @@ +/* +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +**입출력** + +입력 : mary +출력 : MARY +*/ + +const input = prompt("이름을 입력해주세요"); + +console.log(input.toUpperCase()); diff --git a/Challenge/SubinChoi/025.circle-area/README.md b/Challenge/SubinChoi/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Challenge/SubinChoi/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Challenge/SubinChoi/025.circle-area/solve.js b/Challenge/SubinChoi/025.circle-area/solve.js new file mode 100644 index 0000000..fc6c49a --- /dev/null +++ b/Challenge/SubinChoi/025.circle-area/solve.js @@ -0,0 +1,13 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + +const n = prompt("반지름을 입력해주세요"); +function circle(radius) { + return n ** 2 * 3.14; +} + +circle(n); diff --git a/Challenge/SubinChoi/026.planet_2/README.md b/Challenge/SubinChoi/026.planet_2/README.md new file mode 100644 index 0000000..678e82a --- /dev/null +++ b/Challenge/SubinChoi/026.planet_2/README.md @@ -0,0 +1,6 @@ +# 문제26 : 행성 문제2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git a/Challenge/SubinChoi/026.planet_2/solve.js b/Challenge/SubinChoi/026.planet_2/solve.js new file mode 100644 index 0000000..61c1637 --- /dev/null +++ b/Challenge/SubinChoi/026.planet_2/solve.js @@ -0,0 +1,20 @@ +// 문제26 : 행성 문제2 + +// 우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +// 이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +//행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. + +const planetNameKor = propmt("행성 이름을 입력해주세요"); +const planetNameEng = { + 수성: "Mercury", + 금성: "Venus", + 지구: "Earth", + 화성: "Mars", + 목성: "Jupiter", + 토성: "Saturn", + 천왕성: "Uranus", + 해왕성: "Neptune", +}; + +console.log(planetNameEng[planetNameKor]); diff --git a/Challenge/SubinChoi/027.object/README.md b/Challenge/SubinChoi/027.object/README.md new file mode 100644 index 0000000..9b83945 --- /dev/null +++ b/Challenge/SubinChoi/027.object/README.md @@ -0,0 +1,14 @@ +# 문제27 : 객체 만들기 + +첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +```jsx +**입력** +Yujin Hyewon +70 100 + +**출력** +{'Yujin': 70, 'Hyewon': 100} +``` \ No newline at end of file diff --git a/Challenge/SubinChoi/027.object/solve.js b/Challenge/SubinChoi/027.object/solve.js new file mode 100644 index 0000000..04e7b92 --- /dev/null +++ b/Challenge/SubinChoi/027.object/solve.js @@ -0,0 +1,22 @@ +// # 문제27 : 객체 만들기 + +// 첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +// 두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +// **입력** +// Yujin Hyewon +// 70 100 + +// **출력** +// {'Yujin': 70, 'Hyewon': 100} + +const name = prompt("이름을 차례대로 입력해주세요").split(" "); +const score = prompt("다음으로 점수를 차례대로 입력해주세요").split(" "); +const students = new Object(); + +for (let i = 0; i < name.length; i++) { + students[name[i]] = parseInt(score[i]); +} + +console.log(students); diff --git a/Challenge/SubinChoi/028.2-gram/README.md b/Challenge/SubinChoi/028.2-gram/README.md new file mode 100644 index 0000000..3a0dfe1 --- /dev/null +++ b/Challenge/SubinChoi/028.2-gram/README.md @@ -0,0 +1,23 @@ +# 문제28 : 2-gram + +**2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +```jsx +**입력** +Javascript + +**출력** +J a +a v +v a +a s +s c +c r +r i +i p +p t +``` + +입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. \ No newline at end of file diff --git a/Challenge/SubinChoi/028.2-gram/solve.js b/Challenge/SubinChoi/028.2-gram/solve.js new file mode 100644 index 0000000..1e2a041 --- /dev/null +++ b/Challenge/SubinChoi/028.2-gram/solve.js @@ -0,0 +1,26 @@ +// # 문제28 : 2-gram + +// **2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +// 예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +// **입력** +// Javascript + +// **출력** +// J a +// a v +// v a +// a s +// s c +// c r +// r i +// i p +// p t + +// 입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. + +const str = prompt("문자열을 입력해주세요"); +for (let i = 0; i < str.length - 1; i++) { + console.log(str[i], str[i + 1]); +} diff --git "a/Challenge/SubinChoi/029.\353\214\200\353\254\270\354\236\220/README.md" "b/Challenge/SubinChoi/029.\353\214\200\353\254\270\354\236\220/README.md" new file mode 100644 index 0000000..287a235 --- /dev/null +++ "b/Challenge/SubinChoi/029.\353\214\200\353\254\270\354\236\220/README.md" @@ -0,0 +1,5 @@ +# 문제29 : 대문자만 지나가세요 + +진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git "a/Challenge/SubinChoi/029.\353\214\200\353\254\270\354\236\220/solve.js" "b/Challenge/SubinChoi/029.\353\214\200\353\254\270\354\236\220/solve.js" new file mode 100644 index 0000000..3e02345 --- /dev/null +++ "b/Challenge/SubinChoi/029.\353\214\200\353\254\270\354\236\220/solve.js" @@ -0,0 +1,9 @@ +// 문제29 : 대문자만 지나가세요 + +// 진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +// 알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. + +const alpabat = prompt("알파벳을 하나만 입력해주세요."); + +alpabat === alpabat.toUpperCase() ? console.log("YES") : console.log("NO"); diff --git a/Challenge/SubinChoi/030.find-string/README.md b/Challenge/SubinChoi/030.find-string/README.md new file mode 100644 index 0000000..b2f4ed6 --- /dev/null +++ b/Challenge/SubinChoi/030.find-string/README.md @@ -0,0 +1,15 @@ +# 문제30 : 문자열 속 문자 찾기 + +문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +**그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +```jsx +**입력** +pineapple is yummy +apple + +**출력** +4 +``` \ No newline at end of file diff --git a/Challenge/SubinChoi/030.find-string/solve.js b/Challenge/SubinChoi/030.find-string/solve.js new file mode 100644 index 0000000..b50d11a --- /dev/null +++ b/Challenge/SubinChoi/030.find-string/solve.js @@ -0,0 +1,23 @@ +// # 문제30 : 문자열 속 문자 찾기 + +// 문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +// 첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +// **그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +// ```jsx +// **입력** +// pineapple is yummy +// apple + +// **출력** +// 4 +// ``` + +const str = prompt("문자열을 입력해주세요"); +const searchStr = prompt("찾을 문자를 입력해주세요"); + +// const arr = str.split(searchStr); +// console.log(arr[0].length); + +console.log(str.indexOf(searchStr)); diff --git a/Challenge/SubinChoi/031.timeComplexity/README.md b/Challenge/SubinChoi/031.timeComplexity/README.md new file mode 100644 index 0000000..c10ae55 --- /dev/null +++ b/Challenge/SubinChoi/031.timeComplexity/README.md @@ -0,0 +1,9 @@ +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() +4) arr.pop() +5) arr.includes(5) \ No newline at end of file diff --git a/Challenge/SubinChoi/031.timeComplexity/solve.js b/Challenge/SubinChoi/031.timeComplexity/solve.js new file mode 100644 index 0000000..a08452c --- /dev/null +++ b/Challenge/SubinChoi/031.timeComplexity/solve.js @@ -0,0 +1,14 @@ +/* +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. +*/ +//1) arr[i] +//2) arr.push(5) +arr.slice(); +//4) arr.pop() +arr.includes(5); + +//시간 복잡도 빅오 표기법 +//문제를 해결하는 속도가 일정할 때 O(1) +//arr개수가 많아도 속도가 일정할 것 diff --git "a/Challenge/SubinChoi/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" "b/Challenge/SubinChoi/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" new file mode 100644 index 0000000..53459f4 --- /dev/null +++ "b/Challenge/SubinChoi/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" @@ -0,0 +1,13 @@ +# 문제32 : 문자열 만들기 + +취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +혜림이를 위해 **문자열을 입력받으면 단어의 갯수를 출력하는 프로그램**을 작성해 주세요. + +```jsx +**입력** +안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +**출력** +5 +``` diff --git "a/Challenge/SubinChoi/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" "b/Challenge/SubinChoi/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" new file mode 100644 index 0000000..ce1ed5c --- /dev/null +++ "b/Challenge/SubinChoi/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" @@ -0,0 +1,16 @@ +// # 문제32 : 문자열 만들기 + +// 취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +// 혜림이를 위해 문자열을 입력받으면 단어의 갯수를 출력하는 프로그램을 작성해 주세요. + +// ```jsx +// **입력** +// 안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +// **출력** +// 5 +// ``` + +const str = prompt("문자열을 입력해주세요"); +console.log(str.split(" ").length); diff --git a/Challenge/SubinChoi/033.Reverse/README.md b/Challenge/SubinChoi/033.Reverse/README.md new file mode 100644 index 0000000..7d450ce --- /dev/null +++ b/Challenge/SubinChoi/033.Reverse/README.md @@ -0,0 +1,13 @@ +# 문제33 : 거꾸로 출력하기 + +한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +```jsx +**입출력** +입력 : 1 2 3 4 5 +출력 : 5 4 3 2 1 + +**출력** +입력 : 2 4 6 7 8 +출력 : 8 7 6 4 2 +``` diff --git a/Challenge/SubinChoi/033.Reverse/solve.js b/Challenge/SubinChoi/033.Reverse/solve.js new file mode 100644 index 0000000..bb6ca73 --- /dev/null +++ b/Challenge/SubinChoi/033.Reverse/solve.js @@ -0,0 +1,16 @@ +// # 문제33 : 거꾸로 출력하기 + +// 한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +// ```jsx +// **입출력** +// 입력 : 1 2 3 4 5 +// 출력 : 5 4 3 2 1 + +// **출력** +// 입력 : 2 4 6 7 8 +// 출력 : 8 7 6 4 2 +// ``` + +const num = prompt("숫자를 입력해주세요").split(" "); +console.log(num.reverse().join(" ")); diff --git a/Challenge/SubinChoi/034.Sort/README.md b/Challenge/SubinChoi/034.Sort/README.md new file mode 100644 index 0000000..d89c59d --- /dev/null +++ b/Challenge/SubinChoi/034.Sort/README.md @@ -0,0 +1,15 @@ +cd# 문제34 : sort 구현하기 + +민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +(키는 공백으로 구분하여 입력됩니다.) + +```jsx +**입출력** +입력 : 176 156 155 165 166 169 +출력 : NO + +입력 : 155 156 165 166 169 176 +출력 : YES +``` diff --git a/Challenge/SubinChoi/034.Sort/solve.js b/Challenge/SubinChoi/034.Sort/solve.js new file mode 100644 index 0000000..ec6f3a6 --- /dev/null +++ b/Challenge/SubinChoi/034.Sort/solve.js @@ -0,0 +1,38 @@ +// # 문제34 : sort 구현하기 + +// 민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +// 민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +// (키는 공백으로 구분하여 입력됩니다.) + +// ```jsx +// **입출력** +// 입력 : 176 156 155 165 166 169 +// 출력 : NO + +// 입력 : 155 156 165 166 169 176 +// 출력 : YES +// ``` + +//내 풀이 +// const arr1 = prompt("키순서대로 서주세요").split(" "); +// const a = arr1.join(""); +// const b = arr1.sort((a, b) => a - b).join(""); +// a === b ? console.log("YES") : console.log("NO"); + +//정답 +const unsorted = prompt("키를 입력하세요"); +let sorted = ""; + +sorted = unsorted + .split(" ") + .sort(function (a, b) { + return a - b; + }) + .join(" "); + +if (unsorted === sorted) { + console.log("Yes"); +} else { + console.log("No"); +} diff --git a/Challenge/SubinChoi/035.function/README.md b/Challenge/SubinChoi/035.function/README.md new file mode 100644 index 0000000..5e4b62a --- /dev/null +++ b/Challenge/SubinChoi/035.function/README.md @@ -0,0 +1,22 @@ +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` \ No newline at end of file diff --git a/Challenge/SubinChoi/035.function/solve.js b/Challenge/SubinChoi/035.function/solve.js new file mode 100644 index 0000000..f32cf83 --- /dev/null +++ b/Challenge/SubinChoi/035.function/solve.js @@ -0,0 +1,38 @@ +/* +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` +*/ + +function one(n) { + function two(m) { + return Math.pow(m, n); + } + return two; +} +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); diff --git a/Challenge/SubinChoi/036.Multiplication_Table/README.md b/Challenge/SubinChoi/036.Multiplication_Table/README.md new file mode 100644 index 0000000..3691735 --- /dev/null +++ b/Challenge/SubinChoi/036.Multiplication_Table/README.md @@ -0,0 +1,10 @@ +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` \ No newline at end of file diff --git a/Challenge/SubinChoi/036.Multiplication_Table/solve.js b/Challenge/SubinChoi/036.Multiplication_Table/solve.js new file mode 100644 index 0000000..b8a428a --- /dev/null +++ b/Challenge/SubinChoi/036.Multiplication_Table/solve.js @@ -0,0 +1,33 @@ +/* +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` +*/ + +// 첫번째 풀이 +// const times = prompt("1~9까지의 숫자 중 하나를 입력해주세요"); +// function timesTable(times) { +// const arr = []; +// for (let i = 1; i <= 9; i++) { +// arr.push(times * i); +// } +// const answer = arr.join(" "); +// console.log(answer); +// } +// timesTable(times); + +const num = prompt("1 ~ 9까지의 숫자 중 하나를 입력하세요."); +let result = ""; + +for (let i = 1; i <= 9; i++) { + result += i * num + " "; +} +//문자열로 더해주는게 더 심플하고 좋은 것 같다 +console.log(result); diff --git "a/Challenge/SubinChoi/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" "b/Challenge/SubinChoi/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" new file mode 100644 index 0000000..18cac02 --- /dev/null +++ "b/Challenge/SubinChoi/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" @@ -0,0 +1,11 @@ +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` \ No newline at end of file diff --git "a/Challenge/SubinChoi/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" "b/Challenge/SubinChoi/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" new file mode 100644 index 0000000..cc0a322 --- /dev/null +++ "b/Challenge/SubinChoi/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" @@ -0,0 +1,28 @@ +/* +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` +*/ + +const students = prompt("학생들이 뽑은 후보들").trim(); +function voting(students) { + const candidate = new Set(students.split(" ")); + const result = {}; + candidate.forEach((name) => (result[name] = students.split(name).length - 1)); + const maxNum = Math.max(...Object.values(result)); + + for (let key in result) { + if (result[key] === maxNum) { + return `${key}님이 ${maxNum}표로 선발되었습니다`; + } + } +} +voting(students); diff --git "a/Challenge/SubinChoi/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" "b/Challenge/SubinChoi/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" new file mode 100644 index 0000000..36a32d4 --- /dev/null +++ "b/Challenge/SubinChoi/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" @@ -0,0 +1,13 @@ +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` \ No newline at end of file diff --git "a/Challenge/SubinChoi/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" "b/Challenge/SubinChoi/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" new file mode 100644 index 0000000..8f00c65 --- /dev/null +++ "b/Challenge/SubinChoi/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" @@ -0,0 +1,62 @@ +/* +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` +*/ + +// 숫자 sort로 중복없애기 +// 오름차순으로 정렬 +// 원본 배열에서 해당 0번째, 1번째, 2번째 점수가 몇개 있는지 누적시키기 +// 그 값 출력시키기 + +// 내 풀이 +const scoreArr = prompt("학생들의 점수를 입력해주세요") + .trim() + .split(" ") + .sort((a, b) => b - a); +const sortScore = new Set(scoreArr); +let newArr = []; +const three = (function () { + for (let item of sortScore) { + newArr.push(item); + if (newArr.length >= 3) { + return; + } + } +})(); +scoreArr.filter((ele) => newArr.includes(ele)).length; + +//답안 + trim()추가 +const scores = prompt("점수입력") + .trim() + .split(" ") + .map(function (n) { + return parseInt(n, 10); + }); + +scores.sort((a, b) => { + return a - b; +}); + +let count = 0; +let arr = []; + +while (arr.length < 3) { + let n = scores.pop(); + if (!arr.includes(n)) { + arr.push(n); + } + count += 1; +} + +console.log(count); diff --git "a/Challenge/SubinChoi/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" "b/Challenge/SubinChoi/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" new file mode 100644 index 0000000..3b0af06 --- /dev/null +++ "b/Challenge/SubinChoi/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" @@ -0,0 +1,18 @@ +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +``` \ No newline at end of file diff --git "a/Challenge/SubinChoi/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" "b/Challenge/SubinChoi/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" new file mode 100644 index 0000000..348e4ef --- /dev/null +++ "b/Challenge/SubinChoi/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" @@ -0,0 +1,26 @@ +/* +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +``` +*/ + +const input = prompt("문장을 입력해주세요"); +function changeQtoE(str, searchStr, joinStr) { + return str.split(searchStr).join(joinStr); +} +changeQtoE(input, "q", "e"); diff --git a/Challenge/SubinLee/001.arry/README.md b/Challenge/SubinLee/001.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/SubinLee/001.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/SubinLee/001.arry/solve.js b/Challenge/SubinLee/001.arry/solve.js new file mode 100644 index 0000000..fa8b1dc --- /dev/null +++ b/Challenge/SubinLee/001.arry/solve.js @@ -0,0 +1,9 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; + +nums.pop(); +nums.pop(); + +console.log(nums); diff --git a/Challenge/SubinLee/002.arryMethd/README.md b/Challenge/SubinLee/002.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Challenge/SubinLee/002.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/SubinLee/002.arryMethd/solve.js b/Challenge/SubinLee/002.arryMethd/solve.js new file mode 100644 index 0000000..539cff9 --- /dev/null +++ b/Challenge/SubinLee/002.arryMethd/solve.js @@ -0,0 +1,10 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +var arr = [200, 100, 300]; +//pass +arr.splice(2, 0, 10000); +console.log(arr); + +// 출력[(200, 100, 10000, 300)]; diff --git a/Challenge/SubinLee/003.type/README.md b/Challenge/SubinLee/003.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/SubinLee/003.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/SubinLee/003.type/solve.js b/Challenge/SubinLee/003.type/solve.js new file mode 100644 index 0000000..33d3eec --- /dev/null +++ b/Challenge/SubinLee/003.type/solve.js @@ -0,0 +1,11 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? 4번 + +var arr = [100, 200, 300]; +console.log(typeof arr); //object + +// 1) undefined +// 2) string +// 3) number +// 4) object diff --git a/Challenge/SubinLee/004.type(2)/README.md b/Challenge/SubinLee/004.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/SubinLee/004.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/SubinLee/004.type(2)/solve.js b/Challenge/SubinLee/004.type(2)/solve.js new file mode 100644 index 0000000..40c49d5 --- /dev/null +++ b/Challenge/SubinLee/004.type(2)/solve.js @@ -0,0 +1,10 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 1) 입력 : a =1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object + +// 정답 : 2번 diff --git a/Challenge/SubinLee/005.for/README.md b/Challenge/SubinLee/005.for/README.md new file mode 100644 index 0000000..e704b38 --- /dev/null +++ b/Challenge/SubinLee/005.for/README.md @@ -0,0 +1,20 @@ + +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); +``` + +1) 10 +2) 12 +3) 14 +4) 16 \ No newline at end of file diff --git a/Challenge/SubinLee/005.for/solve.js b/Challenge/SubinLee/005.for/solve.js new file mode 100644 index 0000000..15c47cf --- /dev/null +++ b/Challenge/SubinLee/005.for/solve.js @@ -0,0 +1,21 @@ +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +var a = 10; +var b = 2; + +for (var i = 1; i < 5; i += 2) { + a += i; +} + +console.log(a + b); //3번 14 + +// i 한번 반복할때마다 +2 +// i = 1 10 +1 = 11 +// i = 3 11 +3 = 14 + +// 1) 10 +// 2) 12 +// 3) 14 +// 4) 16 diff --git a/Challenge/TaeheeKim/1.arry/README.md b/Challenge/TaeheeKim/1.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/TaeheeKim/1.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/TaeheeKim/1.arry/solve.js b/Challenge/TaeheeKim/1.arry/solve.js new file mode 100644 index 0000000..48534d1 --- /dev/null +++ b/Challenge/TaeheeKim/1.arry/solve.js @@ -0,0 +1,7 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; + +nums.pop(); +console.log(num); \ No newline at end of file diff --git a/Challenge/UjinJeon/1.arry/README.md b/Challenge/UjinJeon/1.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/UjinJeon/1.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/UjinJeon/1.arry/solve.js b/Challenge/UjinJeon/1.arry/solve.js new file mode 100644 index 0000000..7ffd8bd --- /dev/null +++ b/Challenge/UjinJeon/1.arry/solve.js @@ -0,0 +1,4 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/YeeunLee/1.arry/README.md b/Challenge/YeeunLee/1.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/YeeunLee/1.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/YeeunLee/1.arry/solve.js b/Challenge/YeeunLee/1.arry/solve.js new file mode 100644 index 0000000..7ffd8bd --- /dev/null +++ b/Challenge/YeeunLee/1.arry/solve.js @@ -0,0 +1,4 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/YejiKim/004.type(2)/README.md b/Challenge/YejiKim/004.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/YejiKim/004.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/YejiKim/004.type(2)/solve.js b/Challenge/YejiKim/004.type(2)/solve.js new file mode 100644 index 0000000..aa90a32 --- /dev/null +++ b/Challenge/YejiKim/004.type(2)/solve.js @@ -0,0 +1,12 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 1) 입력 : a =1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object + +// 정답. 2번입니다. +// 출력값으으로 number 이 출력됩니다. +// boolean값은 true, false 두가지 값을 가집니다. diff --git a/Challenge/YejiKim/005.for/README.md b/Challenge/YejiKim/005.for/README.md new file mode 100644 index 0000000..e704b38 --- /dev/null +++ b/Challenge/YejiKim/005.for/README.md @@ -0,0 +1,20 @@ + +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); +``` + +1) 10 +2) 12 +3) 14 +4) 16 \ No newline at end of file diff --git a/Challenge/YejiKim/005.for/solve.js b/Challenge/YejiKim/005.for/solve.js new file mode 100644 index 0000000..d946c0f --- /dev/null +++ b/Challenge/YejiKim/005.for/solve.js @@ -0,0 +1,24 @@ +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +jsx; +var a = 10; +var b = 2; + +for (var i = 1; i < 5; i += 2) { + a += i; +} + +console.log(a + b); + +// 1) 10 +// 2) 12 +// 3) 14 +// 4) 16 + +// 정답: 4번 +// i = 1 일때, a = 11 +// i = 3 일때, a = 14 +// i = 5 일때 i < 5 조건에 해당하지 않으므로 for문을 탈출한다. +// 14 + 2 = 16 diff --git a/Challenge/YejiKim/006.false/README.md b/Challenge/YejiKim/006.false/README.md new file mode 100644 index 0000000..66f6e1d --- /dev/null +++ b/Challenge/YejiKim/006.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Challenge/YejiKim/006.false/solve.js b/Challenge/YejiKim/006.false/solve.js new file mode 100644 index 0000000..0e8ef06 --- /dev/null +++ b/Challenge/YejiKim/006.false/solve.js @@ -0,0 +1,12 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +// 1) NaN +// 2) 1 +// 3) "" +// 4) 0 +// 5) undefined + +//정답 2번 (true) diff --git a/Challenge/YejiKim/007.variable/README.md b/Challenge/YejiKim/007.variable/README.md new file mode 100644 index 0000000..2002c44 --- /dev/null +++ b/Challenge/YejiKim/007.variable/README.md @@ -0,0 +1,9 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Challenge/YejiKim/007.variable/solve.js b/Challenge/YejiKim/007.variable/solve.js new file mode 100644 index 0000000..e60470b --- /dev/null +++ b/Challenge/YejiKim/007.variable/solve.js @@ -0,0 +1,15 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age +*/ + +// 정답: 3, 5번 +// let은 예약어이므로 사용이 불가하다. +// 변수명에 숫자는 제일 처음으로 올 수 없다. diff --git a/Challenge/YejiKim/008.object/README.md b/Challenge/YejiKim/008.object/README.md new file mode 100644 index 0000000..0e23154 --- /dev/null +++ b/Challenge/YejiKim/008.object/README.md @@ -0,0 +1,16 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Challenge/YejiKim/008.object/solve.js b/Challenge/YejiKim/008.object/solve.js new file mode 100644 index 0000000..50aa51f --- /dev/null +++ b/Challenge/YejiKim/008.object/solve.js @@ -0,0 +1,17 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +*/ +// 정답 : 84 diff --git a/Challenge/YejiKim/009.concat/README.md b/Challenge/YejiKim/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Challenge/YejiKim/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Challenge/YejiKim/009.concat/solve.js b/Challenge/YejiKim/009.concat/solve.js new file mode 100644 index 0000000..79877c8 --- /dev/null +++ b/Challenge/YejiKim/009.concat/solve.js @@ -0,0 +1,22 @@ +var year = "2019"; +var month = "04"; +var day = "26"; +var hour = "11"; +var minute = "34"; +var second = "27"; + +var result = year.concat( + "/", + month, + "/", + day, + " ", + hour, + ":", + minute, + ":", + second +); +console.log(result); + +// '2019/04/26 11:34:27' diff --git a/Challenge/YejiKim/010.star/README.md b/Challenge/YejiKim/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Challenge/YejiKim/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Challenge/YejiKim/010.star/solve.js b/Challenge/YejiKim/010.star/solve.js new file mode 100644 index 0000000..f578d24 --- /dev/null +++ b/Challenge/YejiKim/010.star/solve.js @@ -0,0 +1,4 @@ +let level = 5; +for (i = 1; i <= 5; i++) { + console.log(" ".repeat(level - i) + "*".repeat(2 * i - 1)); +} diff --git a/Challenge/YejiKim/011.for/README.md b/Challenge/YejiKim/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Challenge/YejiKim/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/YejiKim/011.for/solve.js b/Challenge/YejiKim/011.for/solve.js new file mode 100644 index 0000000..9af3991 --- /dev/null +++ b/Challenge/YejiKim/011.for/solve.js @@ -0,0 +1,13 @@ +//# 문제11 : for를 이용한 기본 활용 + +//1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +let s = 0; + +//pass +for (let i = 1; i <= 100; i++) { + s += i; +} + +console.log(s); +// 5050 diff --git a/Challenge/YejiKim/012.class/README.md b/Challenge/YejiKim/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Challenge/YejiKim/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Challenge/YejiKim/012.class/solve.js b/Challenge/YejiKim/012.class/solve.js new file mode 100644 index 0000000..cb5932d --- /dev/null +++ b/Challenge/YejiKim/012.class/solve.js @@ -0,0 +1,27 @@ +//# 문제12 : 게임 캐릭터 클래스 만들기 + +//다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +//**주어진 소스 코드를 수정해선 안됩니다.** + +//**데이터** +//<여기에 class를 작성하세요.> + +class Wizard { + constructor(health, mana, armor) { + this.health = health; + this.mana = mana; + this.armor = armor; + } + + attack() { + console.log("파이어볼~"); + } +} + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +// **출력** +// 545 210 10 +// 파이어볼 diff --git a/Challenge/YejiKim/013.find-planet/README.md b/Challenge/YejiKim/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Challenge/YejiKim/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Challenge/YejiKim/013.find-planet/solve.js b/Challenge/YejiKim/013.find-planet/solve.js new file mode 100644 index 0000000..954a3f4 --- /dev/null +++ b/Challenge/YejiKim/013.find-planet/solve.js @@ -0,0 +1,29 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ + +const planet = [ + "수성", + "금성", + "지구", + "화성", + "목성", + "토성", + "천황성", + "해왕성", +]; +const n = prompt("몇 번째 행성을 찾으시나요?"); + +console.log(planet[n - 1]); diff --git a/Challenge/YejiKim/014.if/README.md b/Challenge/YejiKim/014.if/README.md new file mode 100644 index 0000000..488df61 --- /dev/null +++ b/Challenge/YejiKim/014.if/README.md @@ -0,0 +1,17 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +```jsx +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +``` \ No newline at end of file diff --git a/Challenge/YejiKim/014.if/solve.js b/Challenge/YejiKim/014.if/solve.js new file mode 100644 index 0000000..f605774 --- /dev/null +++ b/Challenge/YejiKim/014.if/solve.js @@ -0,0 +1,28 @@ +/* +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +*/ + +function 배수찾기(a) { + if (a % 3 == 0 && a !== 0) { + console.log("짝👏"); + } else { + console.log(a); + } +} + +배수찾기(3); // 짝👏 +배수찾기(2); // 2 diff --git a/Challenge/YejiKim/015.template _literals/README.md b/Challenge/YejiKim/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Challenge/YejiKim/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Challenge/YejiKim/015.template _literals/solve.js b/Challenge/YejiKim/015.template _literals/solve.js new file mode 100644 index 0000000..d315a9c --- /dev/null +++ b/Challenge/YejiKim/015.template _literals/solve.js @@ -0,0 +1,16 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +*/ + +const myName = prompt("이릅을 알려주세요!"); +console.log(`안녕하세요. 저는 ${myName}입니다.`); diff --git "a/Challenge/YejiKim/016.\353\241\234\352\276\270\352\272\274/README.md" "b/Challenge/YejiKim/016.\353\241\234\352\276\270\352\272\274/README.md" new file mode 100644 index 0000000..6528a39 --- /dev/null +++ "b/Challenge/YejiKim/016.\353\241\234\352\276\270\352\272\274/README.md" @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git "a/Challenge/YejiKim/016.\353\241\234\352\276\270\352\272\274/solve.js" "b/Challenge/YejiKim/016.\353\241\234\352\276\270\352\272\274/solve.js" new file mode 100644 index 0000000..f46ec89 --- /dev/null +++ "b/Challenge/YejiKim/016.\353\241\234\352\276\270\352\272\274/solve.js" @@ -0,0 +1,12 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +*/ + +const input = prompt("문장을 입력해주세요."); +console.log(input.split("").reverse().join("")); diff --git a/Challenge/YejiKim/017.limit/README.md b/Challenge/YejiKim/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Challenge/YejiKim/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Challenge/YejiKim/017.limit/solve.js b/Challenge/YejiKim/017.limit/solve.js new file mode 100644 index 0000000..52eb026 --- /dev/null +++ b/Challenge/YejiKim/017.limit/solve.js @@ -0,0 +1,17 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. +*/ + +const height = prompt("키를 입력해 주세요"); + +if (height > 150) { + console.log("YES"); +} else { + console.log("NO"); +} diff --git a/Challenge/YejiKim/018.average/README.md b/Challenge/YejiKim/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Challenge/YejiKim/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Challenge/YejiKim/018.average/solve.js b/Challenge/YejiKim/018.average/solve.js new file mode 100644 index 0000000..3090f91 --- /dev/null +++ b/Challenge/YejiKim/018.average/solve.js @@ -0,0 +1,21 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 + +*/ + +const store = prompt().split(" "); +let sum = 0; +for (i = 0; i < store.length; i++) { + sum += parseInt(store[i]); +} +console.log(Math.floor(parseInt(sum) / store.length)); diff --git a/Challenge/YejiKim/1.arry/README.md b/Challenge/YejiKim/1.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/YejiKim/1.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/YejiKim/1.arry/solve.js b/Challenge/YejiKim/1.arry/solve.js new file mode 100644 index 0000000..7ffd8bd --- /dev/null +++ b/Challenge/YejiKim/1.arry/solve.js @@ -0,0 +1,4 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/YejiKim/2.arryMethd/README.md b/Challenge/YejiKim/2.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Challenge/YejiKim/2.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/YejiKim/2.arryMethd/solve.js b/Challenge/YejiKim/2.arryMethd/solve.js new file mode 100644 index 0000000..d4927fc --- /dev/null +++ b/Challenge/YejiKim/2.arryMethd/solve.js @@ -0,0 +1,11 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터; +var arr = [200, 100, 300]; +//pass +arr.splice(2, 0, 10000); // 배열.splice(요소를 위치시키고자 하는 인덱스, 제거할 요소의 개수, 배열에 추가할 요소) +console.log(arr); + +출력[(200, 100, 10000, 300)]; diff --git a/Challenge/YejiKim/3.type/README.md b/Challenge/YejiKim/3.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/YejiKim/3.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/YejiKim/3.type/solve.js b/Challenge/YejiKim/3.type/solve.js new file mode 100644 index 0000000..93c0fd7 --- /dev/null +++ b/Challenge/YejiKim/3.type/solve.js @@ -0,0 +1,13 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof arr); + +//object 객체자료형입니다. + +// 1) undefined +// 2) string +// 3) number +// 4) object diff --git a/Challenge/YunheeJo/006.false/README.md b/Challenge/YunheeJo/006.false/README.md new file mode 100644 index 0000000..c9a44ef --- /dev/null +++ b/Challenge/YunheeJo/006.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1. NaN +2. 1 +3. "" +4. 0 +5. undefined diff --git a/Challenge/YunheeJo/006.false/solve.js b/Challenge/YunheeJo/006.false/solve.js new file mode 100644 index 0000000..89be171 --- /dev/null +++ b/Challenge/YunheeJo/006.false/solve.js @@ -0,0 +1,12 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +// 1) NaN +// 2) 1 +// 3) "" +// 4) 0 +// 5) undefined + +답은 2번입니다! \ No newline at end of file diff --git a/Challenge/YunheeJo/007.variable/README.md b/Challenge/YunheeJo/007.variable/README.md new file mode 100644 index 0000000..0f6f0c2 --- /dev/null +++ b/Challenge/YunheeJo/007.variable/README.md @@ -0,0 +1,11 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1. age +2. Age +3. let +4. \_age +5. 1age + +답은 3번하고 5번입니다 diff --git a/Challenge/YunheeJo/007.variable/solve.js b/Challenge/YunheeJo/007.variable/solve.js new file mode 100644 index 0000000..af6dd47 --- /dev/null +++ b/Challenge/YunheeJo/007.variable/solve.js @@ -0,0 +1,13 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age +*/ + +답은 3번하고 5번입니다 \ No newline at end of file diff --git a/Challenge/YunheeJo/008.object/README.md b/Challenge/YunheeJo/008.object/README.md new file mode 100644 index 0000000..6a10def --- /dev/null +++ b/Challenge/YunheeJo/008.object/README.md @@ -0,0 +1,18 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + height: 180, + weight: 78, + weight: 84, + temperature: 36, + eyesight: 1, +}; + +console.log(d['weight']); +``` + +답은 84입니다 diff --git a/Challenge/YunheeJo/008.object/solve.js b/Challenge/YunheeJo/008.object/solve.js new file mode 100644 index 0000000..8b6701b --- /dev/null +++ b/Challenge/YunheeJo/008.object/solve.js @@ -0,0 +1,19 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +*/ + + +답은 84 \ No newline at end of file diff --git a/Challenge/YunheeJo/009.concat/README.md b/Challenge/YunheeJo/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Challenge/YunheeJo/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Challenge/YunheeJo/009.concat/solve.js b/Challenge/YunheeJo/009.concat/solve.js new file mode 100644 index 0000000..74e8e3a --- /dev/null +++ b/Challenge/YunheeJo/009.concat/solve.js @@ -0,0 +1,19 @@ + +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = year.concat('/',month,'/',day,' ',hour,':',minute,':',second); + +console.log(result); + +**출력** +2019/04/26 11:34:27 diff --git a/Challenge/YunheeJo/010.star/README.md b/Challenge/YunheeJo/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Challenge/YunheeJo/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Challenge/YunheeJo/010.star/solve.js b/Challenge/YunheeJo/010.star/solve.js new file mode 100644 index 0000000..98914c3 --- /dev/null +++ b/Challenge/YunheeJo/010.star/solve.js @@ -0,0 +1,22 @@ +// # 문제10 : 별 찍기 + +// 크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +// 하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +// **은비를 위해 프로그램을 작성해 주세요.** + +// **입력** +// 5 + +// **출력** +// * +// *** +// ***** +// ******* +// ********* + +const level = 5; + +for (let i = 1; i <= level; i++) { + console.log(' '.repeat(level - i) + '*'.repeat(i * 2 - 1)); +} diff --git a/Challenge/YunheeJo/011.for/README.md b/Challenge/YunheeJo/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Challenge/YunheeJo/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/YunheeJo/011.for/solve.js b/Challenge/YunheeJo/011.for/solve.js new file mode 100644 index 0000000..509d59f --- /dev/null +++ b/Challenge/YunheeJo/011.for/solve.js @@ -0,0 +1,12 @@ + +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +let s = 0; + +for (let i = 0; i <= 100; i++) { + s = s + i; +} + +console.log(s); diff --git a/Challenge/YunheeJo/012.class/README.md b/Challenge/YunheeJo/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Challenge/YunheeJo/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Challenge/YunheeJo/012.class/solve.js b/Challenge/YunheeJo/012.class/solve.js new file mode 100644 index 0000000..0a6cfc5 --- /dev/null +++ b/Challenge/YunheeJo/012.class/solve.js @@ -0,0 +1,25 @@ +// # 문제12 : 게임 캐릭터 클래스 만들기 + +// 다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +// **주어진 소스 코드를 수정해선 안됩니다.** + +// **데이터** +// <여기에 class를 작성하세요.> +const Wizard = class Wizard { + constructor(health, mana, armor) { + this.health = health; + this.mana = mana; + this.armor = armor; + } + attack() { + console.log('파이어볼'); + } +}; + +// const x = new Wizard(545, 210, 10); +// console.log(x.health, x.mana, x.armor); +// x.attack(); + +// **출력** +// 545 210 10 +// 파이어볼 diff --git a/Challenge/YunheeJo/013.find-planet/README.md b/Challenge/YunheeJo/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Challenge/YunheeJo/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Challenge/YunheeJo/013.find-planet/solve.js b/Challenge/YunheeJo/013.find-planet/solve.js new file mode 100644 index 0000000..678dd4e --- /dev/null +++ b/Challenge/YunheeJo/013.find-planet/solve.js @@ -0,0 +1,29 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ +const arr = [ + '수성', + '금성', + '지구', + '화성', + '목성', + '토성', + '천왕성', + '해왕성', +]; + +const n = prompt('몇번째 행성을 원하시나요?'); + +console.log(arr[n - 1]); diff --git a/Challenge/YunheeJo/1.arry/README.md b/Challenge/YunheeJo/1.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/YunheeJo/1.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/YunheeJo/1.arry/solve.js b/Challenge/YunheeJo/1.arry/solve.js new file mode 100644 index 0000000..f7d67ea --- /dev/null +++ b/Challenge/YunheeJo/1.arry/solve.js @@ -0,0 +1,8 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; + +nums.splice(3, 2); + +console.log(nums) \ No newline at end of file diff --git a/Challenge/YunheeJo/2.arryMethd/README.md b/Challenge/YunheeJo/2.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Challenge/YunheeJo/2.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/YunheeJo/2.arryMethd/solve.js b/Challenge/YunheeJo/2.arryMethd/solve.js new file mode 100644 index 0000000..fee7aa7 --- /dev/null +++ b/Challenge/YunheeJo/2.arryMethd/solve.js @@ -0,0 +1,11 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +arr.splice(2, 0, 10000); +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/YunheeJo/3.type/README.md b/Challenge/YunheeJo/3.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/YunheeJo/3.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/YunheeJo/3.type/solve.js b/Challenge/YunheeJo/3.type/solve.js new file mode 100644 index 0000000..c4187d1 --- /dev/null +++ b/Challenge/YunheeJo/3.type/solve.js @@ -0,0 +1,13 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof(arr)); + +// 1) undefined +// 2) string +// 3) number +// 4) object + +답: object \ No newline at end of file diff --git a/Challenge/YunheeJo/4.type(2)/README.md b/Challenge/YunheeJo/4.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/YunheeJo/4.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/YunheeJo/4.type(2)/solve.js b/Challenge/YunheeJo/4.type(2)/solve.js new file mode 100644 index 0000000..5832fe3 --- /dev/null +++ b/Challenge/YunheeJo/4.type(2)/solve.js @@ -0,0 +1,12 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 1) 입력 : a =1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object + + +답은 2번입니다! +boolean은 참과 거짓을 의미합니다. a = 2.22 출력값은 number가 나와야합니다. \ No newline at end of file diff --git a/Challenge/YunheeJo/5.for/README.md b/Challenge/YunheeJo/5.for/README.md new file mode 100644 index 0000000..e704b38 --- /dev/null +++ b/Challenge/YunheeJo/5.for/README.md @@ -0,0 +1,20 @@ + +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); +``` + +1) 10 +2) 12 +3) 14 +4) 16 \ No newline at end of file diff --git a/Challenge/YunheeJo/5.for/solve.js b/Challenge/YunheeJo/5.for/solve.js new file mode 100644 index 0000000..331d7a5 --- /dev/null +++ b/Challenge/YunheeJo/5.for/solve.js @@ -0,0 +1,21 @@ + +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); + +답은 16입니다! + +// 1) 10 +// 2) 12 +// 3) 14 +// 4) 16 \ No newline at end of file diff --git a/Challenge/YurinWang/001.arry/README.md b/Challenge/YurinWang/001.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/YurinWang/001.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/YurinWang/001.arry/solve.js b/Challenge/YurinWang/001.arry/solve.js new file mode 100644 index 0000000..fe9fd3b --- /dev/null +++ b/Challenge/YurinWang/001.arry/solve.js @@ -0,0 +1,9 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; + + +nums.pop(); +nums.pop(); + diff --git a/Challenge/YurinWang/002.arryMethd/README.md b/Challenge/YurinWang/002.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Challenge/YurinWang/002.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/YurinWang/002.arryMethd/solve.js b/Challenge/YurinWang/002.arryMethd/solve.js new file mode 100644 index 0000000..47a1dbd --- /dev/null +++ b/Challenge/YurinWang/002.arryMethd/solve.js @@ -0,0 +1,11 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터; +var arr = [200, 100, 300]; + +arr.splice(2, 0, 10000); +console.log(arr); + +출력[(200, 100, 10000, 300)]; diff --git a/Challenge/YurinWang/003.type/README.md b/Challenge/YurinWang/003.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/YurinWang/003.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/YurinWang/003.type/solve.js b/Challenge/YurinWang/003.type/solve.js new file mode 100644 index 0000000..0b15ee1 --- /dev/null +++ b/Challenge/YurinWang/003.type/solve.js @@ -0,0 +1,11 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof arr); + +// 1) undefined +// 2) string +// 3) number +// 4) object <- 정답 diff --git a/Challenge/YurinWang/004.type(2)/README.md b/Challenge/YurinWang/004.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/YurinWang/004.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/YurinWang/004.type(2)/solve.js b/Challenge/YurinWang/004.type(2)/solve.js new file mode 100644 index 0000000..4e584e7 --- /dev/null +++ b/Challenge/YurinWang/004.type(2)/solve.js @@ -0,0 +1,11 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 1) 입력 : a =1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object + +// 정답 2번 +// number입니다. diff --git a/Challenge/YurinWang/005.for/README.md b/Challenge/YurinWang/005.for/README.md new file mode 100644 index 0000000..e704b38 --- /dev/null +++ b/Challenge/YurinWang/005.for/README.md @@ -0,0 +1,20 @@ + +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); +``` + +1) 10 +2) 12 +3) 14 +4) 16 \ No newline at end of file diff --git a/Challenge/YurinWang/005.for/solve.js b/Challenge/YurinWang/005.for/solve.js new file mode 100644 index 0000000..d2ab191 --- /dev/null +++ b/Challenge/YurinWang/005.for/solve.js @@ -0,0 +1,22 @@ +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +jsx; +var a = 10; +var b = 2; + +for (var i = 1; i < 5; i += 2) { + a += i; +} + +console.log(a + b); + +// 1) 10 +// 2) 12 +// 3) 14 +// 4) 16 + +// 정답 4번 +// 첫 번째 순환 a=11, 두 번째 순환 a=14 +// a+b = 14+2 = 16 diff --git a/Challenge/YurinWang/006.false/README.md b/Challenge/YurinWang/006.false/README.md new file mode 100644 index 0000000..66f6e1d --- /dev/null +++ b/Challenge/YurinWang/006.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Challenge/YurinWang/006.false/solve.js b/Challenge/YurinWang/006.false/solve.js new file mode 100644 index 0000000..77814be --- /dev/null +++ b/Challenge/YurinWang/006.false/solve.js @@ -0,0 +1,10 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +// 1) NaN +// 2) 1 <- 정답 +// 3) "" +// 4) 0 +// 5) undefined diff --git a/Challenge/YurinWang/007.variable/README.md b/Challenge/YurinWang/007.variable/README.md new file mode 100644 index 0000000..2002c44 --- /dev/null +++ b/Challenge/YurinWang/007.variable/README.md @@ -0,0 +1,9 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Challenge/YurinWang/007.variable/solve.js b/Challenge/YurinWang/007.variable/solve.js new file mode 100644 index 0000000..b80a413 --- /dev/null +++ b/Challenge/YurinWang/007.variable/solve.js @@ -0,0 +1,11 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let <- 정답 +4) _age +5) 1age <- 정답 +*/ diff --git a/Challenge/YurinWang/008.object/README.md b/Challenge/YurinWang/008.object/README.md new file mode 100644 index 0000000..0e23154 --- /dev/null +++ b/Challenge/YurinWang/008.object/README.md @@ -0,0 +1,16 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Challenge/YurinWang/008.object/solve.js b/Challenge/YurinWang/008.object/solve.js new file mode 100644 index 0000000..e83dec0 --- /dev/null +++ b/Challenge/YurinWang/008.object/solve.js @@ -0,0 +1,19 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +*/ + +// 84 +// 키가 중복 되었을 때 마지막 키의 값을 가져옵니다. diff --git a/Challenge/YurinWang/009.concat/README.md b/Challenge/YurinWang/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Challenge/YurinWang/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Challenge/YurinWang/009.concat/solve.js b/Challenge/YurinWang/009.concat/solve.js new file mode 100644 index 0000000..8b4850a --- /dev/null +++ b/Challenge/YurinWang/009.concat/solve.js @@ -0,0 +1,33 @@ +/* +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +*/ + +var result = year.concat( + "/", + month, + "/", + day, + " ", + hour, + ":", + minute, + ":", + second +); diff --git a/Challenge/YurinWang/010.star/README.md b/Challenge/YurinWang/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Challenge/YurinWang/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Challenge/YurinWang/010.star/solve.js b/Challenge/YurinWang/010.star/solve.js new file mode 100644 index 0000000..ed9bbd9 --- /dev/null +++ b/Challenge/YurinWang/010.star/solve.js @@ -0,0 +1,31 @@ +/* +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +*/ + +let star = ""; +for (let i = 1; i < 5; i++) { + for (let j = 5; j > i; j--) { + star += " "; + } + for (let k = 0; k < 2 * i - 1; k++) { + star += "*"; + } + star += "\n"; +} + +console.log(star); diff --git a/Challenge/YurinWang/011.for/README.md b/Challenge/YurinWang/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Challenge/YurinWang/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/YurinWang/011.for/solve.js b/Challenge/YurinWang/011.for/solve.js new file mode 100644 index 0000000..0077996 --- /dev/null +++ b/Challenge/YurinWang/011.for/solve.js @@ -0,0 +1,18 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +let s = 0; + +//pass + +console.log(s); +*/ + +let s = 0; +for (let i = 0; i <= 100; i++) { + s += i; +} + +console.log(s); diff --git a/Challenge/YurinWang/012.class/README.md b/Challenge/YurinWang/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Challenge/YurinWang/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Challenge/YurinWang/012.class/solve.js b/Challenge/YurinWang/012.class/solve.js new file mode 100644 index 0000000..a82c4b8 --- /dev/null +++ b/Challenge/YurinWang/012.class/solve.js @@ -0,0 +1,32 @@ +/* +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +*/ + +const Wizard = class Wizard { + constructor(health, mana, armor) { + this.health = health; + this.mana = mana; + this.armor = armor; + } + attack() { + console.log("파이어볼"); + } +}; + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); diff --git a/Challenge/YurinWang/013.find-planet/README.md b/Challenge/YurinWang/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Challenge/YurinWang/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Challenge/YurinWang/013.find-planet/solve.js b/Challenge/YurinWang/013.find-planet/solve.js new file mode 100644 index 0000000..b027689 --- /dev/null +++ b/Challenge/YurinWang/013.find-planet/solve.js @@ -0,0 +1,32 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ + +const planet = [ + "수성", + "금성", + "지구", + "화성", + "목성", + "토성", + "천왕성", + "해왕성", +]; + +function result(n) { + console.log(planet[n - 1]); +} + +result(1); diff --git a/Challenge/YurinWang/014.if/README.md b/Challenge/YurinWang/014.if/README.md new file mode 100644 index 0000000..488df61 --- /dev/null +++ b/Challenge/YurinWang/014.if/README.md @@ -0,0 +1,17 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +```jsx +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +``` \ No newline at end of file diff --git a/Challenge/YurinWang/014.if/solve.js b/Challenge/YurinWang/014.if/solve.js new file mode 100644 index 0000000..4ba866c --- /dev/null +++ b/Challenge/YurinWang/014.if/solve.js @@ -0,0 +1,25 @@ +/* +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +*/ + +const num = Number(prompt("숫자를 입력해주세요")); + +if (num % 3 === 0) { + alert("짝"); +} else { + alert(num); +} diff --git a/Challenge/YurinWang/015.template _literals/README.md b/Challenge/YurinWang/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Challenge/YurinWang/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Challenge/YurinWang/015.template _literals/solve.js b/Challenge/YurinWang/015.template _literals/solve.js new file mode 100644 index 0000000..61fb19f --- /dev/null +++ b/Challenge/YurinWang/015.template _literals/solve.js @@ -0,0 +1,17 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +*/ + +const name = prompt("이름을 입력해주세요."); + +alert(`안녕하세요. 저는 ${name}입니다.`); diff --git "a/Challenge/YurinWang/016.\353\241\234\352\276\270\352\272\274/README.md" "b/Challenge/YurinWang/016.\353\241\234\352\276\270\352\272\274/README.md" new file mode 100644 index 0000000..6528a39 --- /dev/null +++ "b/Challenge/YurinWang/016.\353\241\234\352\276\270\352\272\274/README.md" @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git "a/Challenge/YurinWang/016.\353\241\234\352\276\270\352\272\274/solve.js" "b/Challenge/YurinWang/016.\353\241\234\352\276\270\352\272\274/solve.js" new file mode 100644 index 0000000..73b1d1f --- /dev/null +++ "b/Challenge/YurinWang/016.\353\241\234\352\276\270\352\272\274/solve.js" @@ -0,0 +1,14 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +*/ + +const input = prompt("여기에 입력해주세요."); +const arr = input.split(""); +arr.reverse(); +arr.join(""); diff --git a/Challenge/YurinWang/017.limit/README.md b/Challenge/YurinWang/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Challenge/YurinWang/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Challenge/YurinWang/017.limit/solve.js b/Challenge/YurinWang/017.limit/solve.js new file mode 100644 index 0000000..fb647a7 --- /dev/null +++ b/Challenge/YurinWang/017.limit/solve.js @@ -0,0 +1,16 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. +*/ + +const height = Number(prompt("키를 입력해주세요.")); +if (height < 150) { + alert("NO"); +} else { + alert("YES"); +} diff --git a/Challenge/YurinWang/018.average/README.md b/Challenge/YurinWang/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Challenge/YurinWang/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Challenge/YurinWang/018.average/solve.js b/Challenge/YurinWang/018.average/solve.js new file mode 100644 index 0000000..fafff89 --- /dev/null +++ b/Challenge/YurinWang/018.average/solve.js @@ -0,0 +1,22 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 + +*/ + +const score = prompt("과목들의 시험 점수를 입력해주세요.").split(" "); +let sum = 0; +for (let i = 0; i < score.length; i++) { + sum += parseInt(score[i]); +} +const result = Math.floor(sum / score.length); +console.log(result); diff --git a/Challenge/YurinWang/019.square/README.md b/Challenge/YurinWang/019.square/README.md new file mode 100644 index 0000000..e02a30a --- /dev/null +++ b/Challenge/YurinWang/019.square/README.md @@ -0,0 +1,3 @@ +문제19 : 제곱을 구하자 + +공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. \ No newline at end of file diff --git a/Challenge/YurinWang/019.square/solve.js b/Challenge/YurinWang/019.square/solve.js new file mode 100644 index 0000000..4d0f092 --- /dev/null +++ b/Challenge/YurinWang/019.square/solve.js @@ -0,0 +1,6 @@ +// 문제19 : 제곱을 구하자 + +// 공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. + +const num = prompt("숫자를 입력해주세요.").split(" "); +alert(`${num[0]}의 ${num[1]}승은 ${Math.pow(num[0], num[1])}입니다.`); diff --git a/Challenge/YurinWang/020.share-remainder/README.md b/Challenge/YurinWang/020.share-remainder/README.md new file mode 100644 index 0000000..91c7d9c --- /dev/null +++ b/Challenge/YurinWang/020.share-remainder/README.md @@ -0,0 +1,11 @@ +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` \ No newline at end of file diff --git a/Challenge/YurinWang/020.share-remainder/solve.js b/Challenge/YurinWang/020.share-remainder/solve.js new file mode 100644 index 0000000..8119bd6 --- /dev/null +++ b/Challenge/YurinWang/020.share-remainder/solve.js @@ -0,0 +1,17 @@ +/* +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +**입출력** + +입력 : 10 2 +출력 : 5 0 +*/ + +const num = prompt("숫자를 입력해주세요.").split(" "); +const quot = Math.floor(num[0] / num[1]); +const remainder = Math.floor(num[0] % num[1]); + +console.log(quot, remainder); diff --git a/Challenge/YurinWang/021.set/README.md b/Challenge/YurinWang/021.set/README.md new file mode 100644 index 0000000..255a239 --- /dev/null +++ b/Challenge/YurinWang/021.set/README.md @@ -0,0 +1,9 @@ +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); \ No newline at end of file diff --git a/Challenge/YurinWang/021.set/solve.js b/Challenge/YurinWang/021.set/solve.js new file mode 100644 index 0000000..a376356 --- /dev/null +++ b/Challenge/YurinWang/021.set/solve.js @@ -0,0 +1,13 @@ +/* +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); +*/ + +정답 : 3번, 5번 \ No newline at end of file diff --git a/Challenge/YurinWang/022.multiple/README.md b/Challenge/YurinWang/022.multiple/README.md new file mode 100644 index 0000000..b4d74cc --- /dev/null +++ b/Challenge/YurinWang/022.multiple/README.md @@ -0,0 +1,9 @@ +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 \ No newline at end of file diff --git a/Challenge/YurinWang/022.multiple/solve.js b/Challenge/YurinWang/022.multiple/solve.js new file mode 100644 index 0000000..6c79063 --- /dev/null +++ b/Challenge/YurinWang/022.multiple/solve.js @@ -0,0 +1,13 @@ +/* +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 +*/ + +정답 : 2번 \ No newline at end of file diff --git a/Challenge/YurinWang/023.OX/README.md b/Challenge/YurinWang/023.OX/README.md new file mode 100644 index 0000000..47e0046 --- /dev/null +++ b/Challenge/YurinWang/023.OX/README.md @@ -0,0 +1,3 @@ +# 문제23 : OX문제 + +`console.log(10/3)`의 출력 결과는 **3**이다. \ No newline at end of file diff --git a/Challenge/YurinWang/023.OX/solve.js b/Challenge/YurinWang/023.OX/solve.js new file mode 100644 index 0000000..1f65d95 --- /dev/null +++ b/Challenge/YurinWang/023.OX/solve.js @@ -0,0 +1,6 @@ +// # 문제23: OX문제 + +// `console.log(10/3)`의 출력 결과는 ** 3 ** 이다. + +정답 : X +3.3333333333333335가 출력이 된다. \ No newline at end of file diff --git a/Challenge/YurinWang/024.toUpperCase/README.md b/Challenge/YurinWang/024.toUpperCase/README.md new file mode 100644 index 0000000..a5e5142 --- /dev/null +++ b/Challenge/YurinWang/024.toUpperCase/README.md @@ -0,0 +1,12 @@ +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +```jsx +**입출력** + +입력 : mary +출력 : MARY +``` \ No newline at end of file diff --git a/Challenge/YurinWang/024.toUpperCase/solve.js b/Challenge/YurinWang/024.toUpperCase/solve.js new file mode 100644 index 0000000..26958ae --- /dev/null +++ b/Challenge/YurinWang/024.toUpperCase/solve.js @@ -0,0 +1,15 @@ +/* +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +**입출력** + +입력 : mary +출력 : MARY +*/ + +const name = prompt("영문 이름을 입력해주세요.").toUpperCase(); +console.log(name); diff --git a/Challenge/YurinWang/025.circle-area/README.md b/Challenge/YurinWang/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Challenge/YurinWang/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Challenge/YurinWang/025.circle-area/solve.js b/Challenge/YurinWang/025.circle-area/solve.js new file mode 100644 index 0000000..9a03dbc --- /dev/null +++ b/Challenge/YurinWang/025.circle-area/solve.js @@ -0,0 +1,13 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + +const radius = Number(prompt("반지름을 입력하세요.")); + +function circleWidth(n) { + return n * n * 3.14; +} +circleWidth(radius); diff --git a/Challenge/YurinWang/026.planet_2/README.md b/Challenge/YurinWang/026.planet_2/README.md new file mode 100644 index 0000000..678e82a --- /dev/null +++ b/Challenge/YurinWang/026.planet_2/README.md @@ -0,0 +1,6 @@ +# 문제26 : 행성 문제2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git a/Challenge/YurinWang/026.planet_2/solve.js b/Challenge/YurinWang/026.planet_2/solve.js new file mode 100644 index 0000000..0af33db --- /dev/null +++ b/Challenge/YurinWang/026.planet_2/solve.js @@ -0,0 +1,20 @@ +// 문제26 : 행성 문제2 + +// 우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +// 이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +// 행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. + +const planets = { + 수성: "Mercury", + 금성: "Venus", + 지구: "Earth", + 화성: "Mars", + 목성: "Jupiter", + 토성: "Saturn", + 천왕성: "Uranus", + 해왕성: "Neptune", +}; + +const name = prompt("행성 이름을 입력해주세요."); +console.log(planets[name]); diff --git a/Challenge/YurinWang/027.object/README.md b/Challenge/YurinWang/027.object/README.md new file mode 100644 index 0000000..9b83945 --- /dev/null +++ b/Challenge/YurinWang/027.object/README.md @@ -0,0 +1,14 @@ +# 문제27 : 객체 만들기 + +첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +```jsx +**입력** +Yujin Hyewon +70 100 + +**출력** +{'Yujin': 70, 'Hyewon': 100} +``` \ No newline at end of file diff --git a/Challenge/YurinWang/027.object/solve.js b/Challenge/YurinWang/027.object/solve.js new file mode 100644 index 0000000..131a1e6 --- /dev/null +++ b/Challenge/YurinWang/027.object/solve.js @@ -0,0 +1,22 @@ +// # 문제27 : 객체 만들기 + +// 첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +// 두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +// **입력** +// Yujin Hyewon +// 70 100 + +// **출력** +// {'Yujin': 70, 'Hyewon': 100} + +const name = prompt("이름을 입력해주세요.").split(" "); +const score = prompt("점수를 입력해주세요.").split(" "); +const obj = {}; + +for (let i = 0; i < name.length; i++) { + obj[name[i]] = Number(score[i]); +} + +console.log(obj); diff --git a/Challenge/YurinWang/028.2-gram/README.md b/Challenge/YurinWang/028.2-gram/README.md new file mode 100644 index 0000000..3a0dfe1 --- /dev/null +++ b/Challenge/YurinWang/028.2-gram/README.md @@ -0,0 +1,23 @@ +# 문제28 : 2-gram + +**2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +```jsx +**입력** +Javascript + +**출력** +J a +a v +v a +a s +s c +c r +r i +i p +p t +``` + +입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. \ No newline at end of file diff --git a/Challenge/YurinWang/028.2-gram/solve.js b/Challenge/YurinWang/028.2-gram/solve.js new file mode 100644 index 0000000..01ce6af --- /dev/null +++ b/Challenge/YurinWang/028.2-gram/solve.js @@ -0,0 +1,38 @@ +// # 문제28 : 2-gram + +// **2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +// 예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +// **입력** +// Javascript + +// **출력** +// J a +// a v +// v a +// a s +// s c +// c r +// r i +// i p +// p t + +// 입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. +// let str = ""; +// const arr = prompt("문자를 입력해주세요.").split(""); +// for (let i = 0; i < arr.length - 1; i++) { +// for (j = i; j < i + 1; j++) { +// str += `${arr[i]} ${arr[i + 1]}`; +// } +// str += "\n"; +// } +// console.log(str); + +let str = ""; +const arr = prompt("문자를 입력해주세요.").split(""); +for (let i = 0; i < arr.length - 1; i++) { + str += `${arr[i]} ${arr[i + 1]}`; + str += "\n"; +} +console.log(str); diff --git "a/Challenge/YurinWang/029.\353\214\200\353\254\270\354\236\220/README.md" "b/Challenge/YurinWang/029.\353\214\200\353\254\270\354\236\220/README.md" new file mode 100644 index 0000000..287a235 --- /dev/null +++ "b/Challenge/YurinWang/029.\353\214\200\353\254\270\354\236\220/README.md" @@ -0,0 +1,5 @@ +# 문제29 : 대문자만 지나가세요 + +진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git "a/Challenge/YurinWang/029.\353\214\200\353\254\270\354\236\220/solve.js" "b/Challenge/YurinWang/029.\353\214\200\353\254\270\354\236\220/solve.js" new file mode 100644 index 0000000..a92740c --- /dev/null +++ "b/Challenge/YurinWang/029.\353\214\200\353\254\270\354\236\220/solve.js" @@ -0,0 +1,10 @@ +// 문제29 : 대문자만 지나가세요 + +// 진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +// 알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. + +const alphabet = prompt("알파벳 하나를 입력해주세요."); +alphabet === alphabet.toUpperCase() + ? console.log("YES😄") + : console.log("NO🥲"); diff --git a/Challenge/YurinWang/030.find-string/README.md b/Challenge/YurinWang/030.find-string/README.md new file mode 100644 index 0000000..b2f4ed6 --- /dev/null +++ b/Challenge/YurinWang/030.find-string/README.md @@ -0,0 +1,15 @@ +# 문제30 : 문자열 속 문자 찾기 + +문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +**그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +```jsx +**입력** +pineapple is yummy +apple + +**출력** +4 +``` \ No newline at end of file diff --git a/Challenge/YurinWang/030.find-string/solve.js b/Challenge/YurinWang/030.find-string/solve.js new file mode 100644 index 0000000..7dad81a --- /dev/null +++ b/Challenge/YurinWang/030.find-string/solve.js @@ -0,0 +1,19 @@ +// # 문제30 : 문자열 속 문자 찾기 + +// 문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +// 첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +// **그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +// ```jsx +// **입력** +// pineapple is yummy +// apple + +// **출력** +// 4 +// ``` + +const str = prompt("여기에 입력해주세요."); +const findStr = prompt("찾을 문자를 입력해주세요."); +console.log(str.indexOf(findStr)); diff --git a/Challenge/YurinWang/031.timeComplexity/README.md b/Challenge/YurinWang/031.timeComplexity/README.md new file mode 100644 index 0000000..c10ae55 --- /dev/null +++ b/Challenge/YurinWang/031.timeComplexity/README.md @@ -0,0 +1,9 @@ +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() +4) arr.pop() +5) arr.includes(5) \ No newline at end of file diff --git a/Challenge/YurinWang/031.timeComplexity/solve.js b/Challenge/YurinWang/031.timeComplexity/solve.js new file mode 100644 index 0000000..339f80f --- /dev/null +++ b/Challenge/YurinWang/031.timeComplexity/solve.js @@ -0,0 +1,13 @@ +/* +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() +4) arr.pop() +5) arr.includes(5) +*/ + +// 정답 3, 5번 diff --git "a/Challenge/YurinWang/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" "b/Challenge/YurinWang/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" new file mode 100644 index 0000000..53459f4 --- /dev/null +++ "b/Challenge/YurinWang/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" @@ -0,0 +1,13 @@ +# 문제32 : 문자열 만들기 + +취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +혜림이를 위해 **문자열을 입력받으면 단어의 갯수를 출력하는 프로그램**을 작성해 주세요. + +```jsx +**입력** +안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +**출력** +5 +``` diff --git "a/Challenge/YurinWang/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" "b/Challenge/YurinWang/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" new file mode 100644 index 0000000..14a0dc2 --- /dev/null +++ "b/Challenge/YurinWang/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" @@ -0,0 +1,17 @@ +// # 문제32 : 문자열 만들기 + +// 취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +// 혜림이를 위해 문자열을 입력받으면 단어의 갯수를 출력하는 프로그램을 작성해 주세요. + +// ```jsx +// **입력** +// 안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +// **출력** +// 5 +// ``` + +const str = prompt("입력해주세요.").split(" "); +const wordNum = str.length; +console.log(wordNum); diff --git a/Challenge/YurinWang/033.Reverse/README.md b/Challenge/YurinWang/033.Reverse/README.md new file mode 100644 index 0000000..7d450ce --- /dev/null +++ b/Challenge/YurinWang/033.Reverse/README.md @@ -0,0 +1,13 @@ +# 문제33 : 거꾸로 출력하기 + +한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +```jsx +**입출력** +입력 : 1 2 3 4 5 +출력 : 5 4 3 2 1 + +**출력** +입력 : 2 4 6 7 8 +출력 : 8 7 6 4 2 +``` diff --git a/Challenge/YurinWang/033.Reverse/solve.js b/Challenge/YurinWang/033.Reverse/solve.js new file mode 100644 index 0000000..4029ebb --- /dev/null +++ b/Challenge/YurinWang/033.Reverse/solve.js @@ -0,0 +1,25 @@ +// # 문제33 : 거꾸로 출력하기 + +// 한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +// ```jsx +// **입출력** +// 입력 : 1 2 3 4 5 +// 출력 : 5 4 3 2 1 + +// **출력** +// 입력 : 2 4 6 7 8 +// 출력 : 8 7 6 4 2 +// ``` + +// 풀이 1 +const num = prompt("숫자를 입력해주세요").split(" ").reverse().join(" "); +console.log(num); + +// 풀이 2 +const nums = prompt().split(" ").reverse(); +let numsVal = ""; +for (i = 0; i < nums.length; i++) { + numsVal += `${nums[i]} `; +} +console.log(numsVal); diff --git a/Challenge/YurinWang/034.Sort/README.md b/Challenge/YurinWang/034.Sort/README.md new file mode 100644 index 0000000..2d7e610 --- /dev/null +++ b/Challenge/YurinWang/034.Sort/README.md @@ -0,0 +1,15 @@ +# 문제34 : sort 구현하기 + +민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +(키는 공백으로 구분하여 입력됩니다.) + +```jsx +**입출력** +입력 : 176 156 155 165 166 169 +출력 : NO + +입력 : 155 156 165 166 169 176 +출력 : YES +``` diff --git a/Challenge/YurinWang/034.Sort/solve.js b/Challenge/YurinWang/034.Sort/solve.js new file mode 100644 index 0000000..02ef56b --- /dev/null +++ b/Challenge/YurinWang/034.Sort/solve.js @@ -0,0 +1,29 @@ +// # 문제34 : sort 구현하기 + +// 민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +// 민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +// (키는 공백으로 구분하여 입력됩니다.) + +// ```jsx +// **입출력** +// 입력 : 176 156 155 165 166 169 +// 출력 : NO + +// 입력 : 155 156 165 166 169 176 +// 출력 : YES +// ``` + +const unOrder = prompt("키를 입력해주세요."); +let order = ""; + +order = unOrder + .split(" ") + .sort((a, b) => a - b) + .join(" "); + +if (unOrder === order) { + console.log("YES!!"); +} else { + console.log("NO!"); +} diff --git a/Challenge/YurinWang/035.function/README.md b/Challenge/YurinWang/035.function/README.md new file mode 100644 index 0000000..5e4b62a --- /dev/null +++ b/Challenge/YurinWang/035.function/README.md @@ -0,0 +1,22 @@ +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` \ No newline at end of file diff --git a/Challenge/YurinWang/035.function/solve.js b/Challenge/YurinWang/035.function/solve.js new file mode 100644 index 0000000..9c04763 --- /dev/null +++ b/Challenge/YurinWang/035.function/solve.js @@ -0,0 +1,31 @@ +/* +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` +*/ + +function one(n) { + function two(val) { + return Math.pow(val, n); + } + return two; +} diff --git a/Challenge/YurinWang/036.Multiplication_Table/README.md b/Challenge/YurinWang/036.Multiplication_Table/README.md new file mode 100644 index 0000000..3691735 --- /dev/null +++ b/Challenge/YurinWang/036.Multiplication_Table/README.md @@ -0,0 +1,10 @@ +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` \ No newline at end of file diff --git a/Challenge/YurinWang/036.Multiplication_Table/solve.js b/Challenge/YurinWang/036.Multiplication_Table/solve.js new file mode 100644 index 0000000..bb69b0a --- /dev/null +++ b/Challenge/YurinWang/036.Multiplication_Table/solve.js @@ -0,0 +1,19 @@ +/* +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` +*/ + +const num = prompt(""); +let result = ""; +for (let i = 1; i < 10; i++) { + result += num * i + " "; +} +console.log(result); diff --git "a/Challenge/YurinWang/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" "b/Challenge/YurinWang/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" new file mode 100644 index 0000000..18cac02 --- /dev/null +++ "b/Challenge/YurinWang/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" @@ -0,0 +1,11 @@ +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` \ No newline at end of file diff --git "a/Challenge/YurinWang/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" "b/Challenge/YurinWang/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" new file mode 100644 index 0000000..bfdaa2e --- /dev/null +++ "b/Challenge/YurinWang/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" @@ -0,0 +1,32 @@ +/* +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` +*/ + +const arr = ["원범", "원범", "혜원", "혜원", "혜원", "혜원", "유진", "유진"]; +let result = {}; +let winner = ""; + +for (let i in arr) { + let value = arr[i]; + if (result[value] === undefined) { + result[value] = 1; + } else { + result[value] = result[value] + 1; + } + + winner = Object.keys(result).reduce((a, b) => { + return result[a] > result[b] ? a : b; + }); +} + +console.log(`${winner}(이)가 총 ${result[winner]}표로 반장이 되었습니다.`); diff --git "a/Challenge/YurinWang/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" "b/Challenge/YurinWang/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" new file mode 100644 index 0000000..36a32d4 --- /dev/null +++ "b/Challenge/YurinWang/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" @@ -0,0 +1,13 @@ +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` \ No newline at end of file diff --git "a/Challenge/YurinWang/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" "b/Challenge/YurinWang/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" new file mode 100644 index 0000000..794e6db --- /dev/null +++ "b/Challenge/YurinWang/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" @@ -0,0 +1,32 @@ +/* +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` +*/ + +// 중복인정? +const scores = prompt().split(" "); + +const sortScores = scores.sort((a, b) => b - a); +let count = 0; +let result = new Set([]); + +sortScores.forEach((e) => { + if (result.size < 3) { + result.add(e); + count++; + } + return result; +}); +console.log(count); +console.log(result); diff --git "a/Challenge/YurinWang/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" "b/Challenge/YurinWang/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" new file mode 100644 index 0000000..3b0af06 --- /dev/null +++ "b/Challenge/YurinWang/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" @@ -0,0 +1,18 @@ +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +``` \ No newline at end of file diff --git "a/Challenge/YurinWang/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" "b/Challenge/YurinWang/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" new file mode 100644 index 0000000..6cbb88f --- /dev/null +++ "b/Challenge/YurinWang/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" @@ -0,0 +1,23 @@ +/* +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +``` +*/ + +const changeQtoE = prompt(); +console.log(changeQtoE.replace(/q/gi, "e")); diff --git "a/Challenge/YurinWang/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" "b/Challenge/YurinWang/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" new file mode 100644 index 0000000..324d030 --- /dev/null +++ "b/Challenge/YurinWang/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" @@ -0,0 +1,22 @@ +# 문제40 : 놀이동산에 가자 + +테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다. + +**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.** + +첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. +그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다. + +```jsx +**입력** +50 +5 +20 +20 +20 +20 +20 + +**출력** +2 +``` \ No newline at end of file diff --git "a/Challenge/YurinWang/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" "b/Challenge/YurinWang/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" new file mode 100644 index 0000000..cb6c2f1 --- /dev/null +++ "b/Challenge/YurinWang/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" @@ -0,0 +1,37 @@ +/* +# 문제40 : 놀이동산에 가자 + +테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다. + +**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.** + +첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. +그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다. + +```jsx +**입력** +50 +5 +20 +20 +20 +20 +20 + +**출력** +2 +``` +*/ + +const limitWeight = 50; +const person = 5; +let count = 0; +let totalWeight = 0; + +for (let i = 0; i < person; i++) { + totalWeight = totalWeight + Number(prompt("몸무게를 입력해주세요.")); + if (totalWeight <= limitWeight) { + count++; + } +} +console.log(count); diff --git "a/Challenge/YurinWang/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" "b/Challenge/YurinWang/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" new file mode 100644 index 0000000..11c15e3 --- /dev/null +++ "b/Challenge/YurinWang/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" @@ -0,0 +1,5 @@ +# 문제41 : 소수판별 + +숫자가 주어지면 **소수인지 아닌지 판별하는 프로그램**을 작성해주세요. +소수이면 YES로, 소수가 아니면 NO로 출력해주세요. +(소수 : 1과 자기 자신만으로 나누어떨어지는 1보다 큰 양의 정수) \ No newline at end of file diff --git "a/Challenge/YurinWang/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" "b/Challenge/YurinWang/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" new file mode 100644 index 0000000..e5c27bb --- /dev/null +++ "b/Challenge/YurinWang/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" @@ -0,0 +1,16 @@ +/* +# 문제41 : 소수판별 + +숫자가 주어지면 **소수인지 아닌지 판별하는 프로그램**을 작성해주세요. +소수이면 YES로, 소수가 아니면 NO로 출력해주세요. +(소수 : 1과 자기 자신만으로 나누어떨어지는 1보다 큰 양의 정수) +*/ +const num = prompt("숫자를 입력해주세요"); + +function prime(num) { + for (let i = 2; i < num; i++) { + let result = num % i === 0 ? console.log("NO") : console.log("YES"); + return result; + } +} +prime(num); diff --git "a/Challenge/YurinWang/042.2020\353\205\204/README.md" "b/Challenge/YurinWang/042.2020\353\205\204/README.md" new file mode 100644 index 0000000..6fc7600 --- /dev/null +++ "b/Challenge/YurinWang/042.2020\353\205\204/README.md" @@ -0,0 +1,12 @@ +# 문제42 : 2020년 + +2020년 1월 1일은 수요일입니다. 2020년 a월 b일은 무슨 요일일까요? +두 수 a, b를 입력받아 2020년 a월 b일이 무슨 요일인지 리턴하는 함수 solution을 완성하세요. +요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT 입니다. + +예를 들어 a = 5, b = 24라면 5월 24일은 일요일이므로 문자열 "SUN"를 반환하세요. + +**제한 조건** +2020년은 윤년입니다. +2020년 a월 b일은 실제로 있는 날입니다. +(13월 26일이나 2월 45일 같은 날짜는 주어지지 않습니다.) \ No newline at end of file diff --git "a/Challenge/YurinWang/042.2020\353\205\204/solve.js" "b/Challenge/YurinWang/042.2020\353\205\204/solve.js" new file mode 100644 index 0000000..bc9ff72 --- /dev/null +++ "b/Challenge/YurinWang/042.2020\353\205\204/solve.js" @@ -0,0 +1,26 @@ +/* +# 문제42 : 2020년 + +2020년 1월 1일은 수요일입니다. 2020년 a월 b일은 무슨 요일일까요? +두 수 a, b를 입력받아 2020년 a월 b일이 무슨 요일인지 리턴하는 함수 solution을 완성하세요. +요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT 입니다. + +예를 들어 a = 5, b = 24라면 5월 24일은 일요일이므로 문자열 "SUN"를 반환하세요. + +**제한 조건** +2020년은 윤년입니다. +2020년 a월 b일은 실제로 있는 날입니다. +(13월 26일이나 2월 45일 같은 날짜는 주어지지 않습니다.) +*/ + +const month = prompt("몇 월?"); +const date = prompt("며칠?"); +const day = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]; + +function result(month, date) { + const theDay = new Date(2020, month - 1, date); + // console.log(theDay.getDay()) + console.log(day[theDay.getDay()]); +} + +result(month, date); diff --git "a/Challenge/YurinWang/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/README.md" "b/Challenge/YurinWang/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/README.md" new file mode 100644 index 0000000..1f52218 --- /dev/null +++ "b/Challenge/YurinWang/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/README.md" @@ -0,0 +1,6 @@ +# 문제43 : 10진수를 2진수로 + +우리가 흔히 사용하는 숫자 1, 8, 19, 28893 등등...은 10진수 체계입니다. +이를 컴퓨터가 알아 들을 수 있는 2진수로 바꾸려고 합니다. 어떻게 해야할까요? + +**사용자에게 숫자를 입력받고 이를 2진수를 바꾸고 그 값을 출력해주세요.** \ No newline at end of file diff --git "a/Challenge/YurinWang/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/solve.js" "b/Challenge/YurinWang/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/solve.js" new file mode 100644 index 0000000..ca99e3d --- /dev/null +++ "b/Challenge/YurinWang/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/solve.js" @@ -0,0 +1,10 @@ +/* +# 문제43 : 10진수를 2진수로 + +우리가 흔히 사용하는 숫자 1, 8, 19, 28893 등등...은 10진수 체계입니다. +이를 컴퓨터가 알아 들을 수 있는 2진수로 바꾸려고 합니다. 어떻게 해야할까요? + +**사용자에게 숫자를 입력받고 이를 2진수를 바꾸고 그 값을 출력해주세요.** +*/ +const num = Number(prompt("숫자를 입력해주세요")); +console.log(num.toString(2)); diff --git "a/Challenge/YurinWang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/README.md" "b/Challenge/YurinWang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/README.md" new file mode 100644 index 0000000..c581b86 --- /dev/null +++ "b/Challenge/YurinWang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/README.md" @@ -0,0 +1,17 @@ +# 문제44 : 각 자리수의 합 + +**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 + +**예를들어** +18234 = 1+8+2+3+4 이고 정답은 18 입니다. +3849 = 3+8+4+9 이고 정답은 24입니다. + +```jsx +**입출력** + +입력 : 18234 +출력 : 18 + +입력 : 3849 +출력 : 24 +``` \ No newline at end of file diff --git "a/Challenge/YurinWang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/solve.js" "b/Challenge/YurinWang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/solve.js" new file mode 100644 index 0000000..2347f3b --- /dev/null +++ "b/Challenge/YurinWang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/solve.js" @@ -0,0 +1,26 @@ +/* +# 문제44 : 각 자리수의 합 + +**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 + +**예를들어** +18234 = 1+8+2+3+4 이고 정답은 18 입니다. +3849 = 3+8+4+9 이고 정답은 24입니다. + +```jsx +**입출력** + +입력 : 18234 +출력 : 18 + +입력 : 3849 +출력 : 24 +``` +*/ + +const num = prompt("숫자를 입력해주세요.").split(""); +let sum = 0; +for (let i = 0; i < num.length; i++) { + sum += Number(num[i]); +} +console.log(sum); diff --git a/Challenge/YurinWang/045.getTime/README.md b/Challenge/YurinWang/045.getTime/README.md new file mode 100644 index 0000000..6ce968a --- /dev/null +++ b/Challenge/YurinWang/045.getTime/README.md @@ -0,0 +1,5 @@ +# 문제45 : getTime()함수 사용하기 + +Date객체의 메소드 중 하나인 getTime()은 1970년 1월 1일 0시 0분 0초 이후로부터 지금까지 흐른 시간을 천분의 1초 단위(ms)로 반환합니다. + +이를 이용하여 **현재 연도(2019)를 출력해보세요.** diff --git a/Challenge/YurinWang/045.getTime/solve.js b/Challenge/YurinWang/045.getTime/solve.js new file mode 100644 index 0000000..ecb409e --- /dev/null +++ b/Challenge/YurinWang/045.getTime/solve.js @@ -0,0 +1,11 @@ +/* +# 문제45 : getTime()함수 사용하기 + +Date객체의 메소드 중 하나인 getTime()은 1970년 1월 1일 0시 0분 0초 이후로부터 지금까지 흐른 시간을 천분의 1초 단위(ms)로 반환합니다. + +이를 이용하여 **현재 연도(2019)를 출력해보세요.** +*/ + +const time = new Date(); +console.log(time.getTime()); +console.log(Math.floor(time.getTime() / (60 * 60 * 24 * 365 * 1000)) + 1970); diff --git "a/Challenge/YurinWang/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/README.md" "b/Challenge/YurinWang/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/README.md" new file mode 100644 index 0000000..ece3532 --- /dev/null +++ "b/Challenge/YurinWang/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/README.md" @@ -0,0 +1,6 @@ +# 문제46 : 각 자리수의 합 2 + +1부터 20까지의(20을 포함) 모든 숫자를 일렬로 놓고 모든 자릿수의 총 합을 구하세요. + +예를 들어 10부터 15까지의 모든 숫자를 일렬로 놓으면 101112131415이고 +각 자리의 숫자를 더하면 21입니다. (1+0+1+1+1+2+1+3+1+4+1+5 = 21) diff --git "a/Challenge/YurinWang/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/solve.js" "b/Challenge/YurinWang/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/solve.js" new file mode 100644 index 0000000..792ba50 --- /dev/null +++ "b/Challenge/YurinWang/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/solve.js" @@ -0,0 +1,24 @@ +/* +# 문제46 : 각 자리수의 합 2 + +1부터 20까지의(20을 포함) 모든 숫자를 일렬로 놓고 모든 자릿수의 총 합을 구하세요. + +예를 들어 10부터 15까지의 모든 숫자를 일렬로 놓으면 101112131415이고 +각 자리의 숫자를 더하면 21입니다. (1+0+1+1+1+2+1+3+1+4+1+5 = 21) +*/ + +let arr = []; +let sum = 0; + +for (let i = 0; i < 20; i++) { + arr[i] = i + 1; +} + +arr.forEach((n) => { + while (n !== 0) { + sum += n % 10; + n = Math.floor(n / 10); + } +}); + +console.log(sum); diff --git "a/Challenge/YurinWang/050.\353\262\204\353\270\224\354\240\225\353\240\254_\352\265\254\355\230\204\355\225\230\352\270\260/README.md" "b/Challenge/YurinWang/050.\353\262\204\353\270\224\354\240\225\353\240\254_\352\265\254\355\230\204\355\225\230\352\270\260/README.md" new file mode 100644 index 0000000..194dd74 --- /dev/null +++ "b/Challenge/YurinWang/050.\353\262\204\353\270\224\354\240\225\353\240\254_\352\265\254\355\230\204\355\225\230\352\270\260/README.md" @@ -0,0 +1,26 @@ +# 문제50 : 버블정렬 구현하기 + +버블정렬은 두 인접한 원소를 검사하여 정렬하는 방법을 말합니다. 시간 복잡도는 느리지만 코드가 단순하기 때문에 자주 사용됩니다. + +아래 코드의 빈 칸을 채워 버블 정렬을 완성해 봅시다. + +```jsx +function bubble(arr) { + let result = arr.slice(); + + for (let i = 0; i < result.length - 1; i++) { + for (/*빈칸을 채워주세요.*/) { + if (result[j] > result[j + 1]) { + //빈칸을 채워주세요. + } + } + } + return result; +} + +const items = prompt('입력해주세요.').split(' ').map((n) => { + return parseInt(n, 10); +}); + +console.log(bubble(items)); +``` diff --git "a/Challenge/YurinWang/050.\353\262\204\353\270\224\354\240\225\353\240\254_\352\265\254\355\230\204\355\225\230\352\270\260/solve.js" "b/Challenge/YurinWang/050.\353\262\204\353\270\224\354\240\225\353\240\254_\352\265\254\355\230\204\355\225\230\352\270\260/solve.js" new file mode 100644 index 0000000..831c495 --- /dev/null +++ "b/Challenge/YurinWang/050.\353\262\204\353\270\224\354\240\225\353\240\254_\352\265\254\355\230\204\355\225\230\352\270\260/solve.js" @@ -0,0 +1,31 @@ +/* +# 문제50 : 버블정렬 구현하기 + +버블정렬은 두 인접한 원소를 검사하여 정렬하는 방법을 말합니다. 시간 복잡도는 느리지만 코드가 단순하기 때문에 자주 사용됩니다. + + +아래 코드의 빈 칸을 채워 버블 정렬을 완성해 봅시다. +*/ + +function bubble(arr) { + let result = arr.slice(); + + for (let i = 0; i < result.length - 1; i++) { + for (let j = 0; j < result.length - i; j++) { + if (result[j] > result[j + 1]) { + let value = result[j]; + result[j] = result[j + 1]; + result[j + 1] = value; + } + } + } + return result; +} + +const items = prompt("입력해주세요.") + .split(" ") + .map((n) => { + return parseInt(n, 10); + }); + +console.log(bubble(items)); diff --git a/Challenge/YurinWang/051.merge_sort/README.md b/Challenge/YurinWang/051.merge_sort/README.md new file mode 100644 index 0000000..6b1c81b --- /dev/null +++ b/Challenge/YurinWang/051.merge_sort/README.md @@ -0,0 +1,50 @@ +# 문제51 : merge sort를 만들어보자 + +병합정렬(merge sort)은 대표적인 정렬 알고리즘 중 하나로 다음과 같이 동작합니다. + +> 1. 리스트의 길이가 0 또는 1이면 이미 정렬된 것으로 본다. 그렇지 않은 경우에는 +> 2. 정렬되지 않은 리스트를 절반으로 잘라 비슷한 크기의 두 부분 리스트로 나눈다. +> 3. 각 부분 리스트를 재귀적으로 합병 정렬을 이용해 정렬한다. +> 4. 두 부분 리스트를 다시 하나의 정렬된 리스트로 합병한다. + +출처 : 위키피디아 + +다음 코드의 빈칸을 채워 병합정렬을 완성해 봅시다. + +```jsx +function mergeSort(arr){ + if (arr.length <= 1){ + return arr; + } + + const mid = Math.floor(arr.length / 2); + const left = arr.slice(0,mid); + const right = arr.slice(mid); + + return merge(mergeSort(left), mergeSort(right)); +} + +function merge(left, right){ + let result = []; + + while (/*빈칸을 채워주세요*/ && /*빈칸을 채워주세요*/){ + if (/*빈칸을 채워주세요*/){ + result.push(left.shift()); + } else { + result.push(right.shift()); + } + } + while (left.length) { + /*빈칸을 채워주세요*/ + } + while (right.length) { + /*빈칸을 채워주세요*/ + } + + return result; +} + +const array = prompt('배열을 입력하세요').split(' ').map(n => parseInt(n, 10)); + +console.log(mergeSort(array)); +``` diff --git a/Challenge/YurinWang/051.merge_sort/solve.js b/Challenge/YurinWang/051.merge_sort/solve.js new file mode 100644 index 0000000..c27cd79 --- /dev/null +++ b/Challenge/YurinWang/051.merge_sort/solve.js @@ -0,0 +1,51 @@ +/* +# 문제51 : merge sort를 만들어보자 + +병합정렬(merge sort)은 대표적인 정렬 알고리즘 중 하나로 다음과 같이 동작합니다. + +> 1. 리스트의 길이가 0 또는 1이면 이미 정렬된 것으로 본다. 그렇지 않은 경우에는 +> 2. 정렬되지 않은 리스트를 절반으로 잘라 비슷한 크기의 두 부분 리스트로 나눈다. +> 3. 각 부분 리스트를 재귀적으로 합병 정렬을 이용해 정렬한다. +> 4. 두 부분 리스트를 다시 하나의 정렬된 리스트로 합병한다. + +출처 : 위키피디아 + +다음 코드의 빈칸을 채워 병합정렬을 완성해 봅시다. +*/ + +function mergeSort(arr) { + if (arr.length <= 1) { + return arr; + } + + const mid = Math.floor(arr.length / 2); + const left = arr.slice(0, mid); + const right = arr.slice(mid); + + return merge(mergeSort(left), mergeSort(right)); +} + +function merge(left, right) { + let result = []; + + while (left.length && right.length) { + if (left[0] < right[0]) { + result.push(left.shift()); + } else { + result.push(right.shift()); + } + } + while (left.length) { + result.push(left.shift()); + } + while (right.length) { + result.push(right.shift()); + } + return result; +} + +const array = prompt("배열을 입력하세요") + .split(" ") + .map((n) => parseInt(n, 10)); + +console.log(mergeSort(array)); diff --git a/Challenge/YurinWang/052.quick_sort/README.md b/Challenge/YurinWang/052.quick_sort/README.md new file mode 100644 index 0000000..83937a5 --- /dev/null +++ b/Challenge/YurinWang/052.quick_sort/README.md @@ -0,0 +1,28 @@ +# 문제52 : quick sort + +다음 빈 칸을 채워 퀵 정렬을 완성해주세요. + +```jsx +function quickSort(arr){ + if (arr.length <= 1){ + return arr; + } + + const pivot = arr[0]; + const left = []; + const right = []; + + for (let i=1; i parseInt(n, 10)); + +console.log(quickSort(array)); +``` diff --git a/Challenge/YurinWang/052.quick_sort/solve.js b/Challenge/YurinWang/052.quick_sort/solve.js new file mode 100644 index 0000000..e097d7e --- /dev/null +++ b/Challenge/YurinWang/052.quick_sort/solve.js @@ -0,0 +1,31 @@ +/* +# 문제52 : quick sort + +다음 빈 칸을 채워 퀵 정렬을 완성해주세요. +*/ + +function quickSort(arr) { + if (arr.length <= 1) { + return arr; + } + + const pivot = arr[0]; + const left = []; + const right = []; + + for (let i = 1; i < arr.length; i++) { + if (arr[i] < pivot) { + left.push(arr[i]); + } else { + right.push(arr[i]); + } + } + // return quickSort(left) + pivot + quickSort(right); + return quickSort(left).concat(pivot, quickSort(right)); +} + +const array = prompt("배열을 입력하세요") + .split(" ") + .map((n) => parseInt(n, 10)); + +console.log(quickSort(array)); diff --git "a/Challenge/YurinWang/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/README.md" "b/Challenge/YurinWang/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/README.md" new file mode 100644 index 0000000..7f0af59 --- /dev/null +++ "b/Challenge/YurinWang/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/README.md" @@ -0,0 +1,21 @@ +# 문제54 : 연속되는 수 + +은주는 놀이공원 아르바이트를 하고 있다. 은주가 일하는 놀이공원에서는 현재 놀이공원 곳곳에 숨겨진 숫자 스탬프를 모아 오면 선물을 주는 이벤트를 하고 있다. 숫자 스탬프는 매일 그 수와 스탬프에 적힌 숫자가 바뀌지만 그 숫자는 항상 연속된다. +그런데 요즘 다른 날에 찍은 스탬프를 가지고 와 선물을 달라고 하는 손님이 늘었다. + +스탬프에 적힌 숫자가 공백으로 구분되어 주어지면 이 숫자가 연속수인지 아닌지 "YES"와 "NO"로 판별하는 프로그램을 작성하시오 + +```jsx +입력1 +1 2 3 4 5 + +출력1 +YES + + +입력2 +1 4 2 6 3 + +출력2 +NO +``` diff --git "a/Challenge/YurinWang/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/solve.js" "b/Challenge/YurinWang/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/solve.js" new file mode 100644 index 0000000..008319f --- /dev/null +++ "b/Challenge/YurinWang/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/solve.js" @@ -0,0 +1,37 @@ +/* +# 문제54 : 연속되는 수 + +은주는 놀이공원 아르바이트를 하고 있다. 은주가 일하는 놀이공원에서는 현재 놀이공원 곳곳에 숨겨진 숫자 스탬프를 모아 오면 선물을 주는 이벤트를 하고 있다. 숫자 스탬프는 매일 그 수와 스탬프에 적힌 숫자가 바뀌지만 그 숫자는 항상 연속된다. +그런데 요즘 다른 날에 찍은 스탬프를 가지고 와 선물을 달라고 하는 손님이 늘었다. + +스탬프에 적힌 숫자가 공백으로 구분되어 주어지면 이 숫자가 연속수인지 아닌지 "YES"와 "NO"로 판별하는 프로그램을 작성하시오 + +```jsx +입력1 +1 2 3 4 5 + +출력1 +YES + + +입력2 +1 4 2 6 3 + +출력2 +NO +``` +*/ + +function count(array) { + for (let i = 0; i < array.length - 1; i++) { + if (array[i + 1] !== array[i] + 1) { + return "NO"; + } + } + return "YES"; +} + +const num = prompt() + .split(" ") + .map((n) => parseInt(n, 10)); +console.log(count(num)); diff --git a/Challenge/hyebinWoo/001.arry/README.md b/Challenge/hyebinWoo/001.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/hyebinWoo/001.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/hyebinWoo/001.arry/solve.js b/Challenge/hyebinWoo/001.arry/solve.js new file mode 100644 index 0000000..fa8b1dc --- /dev/null +++ b/Challenge/hyebinWoo/001.arry/solve.js @@ -0,0 +1,9 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; + +nums.pop(); +nums.pop(); + +console.log(nums); diff --git a/Challenge/hyebinWoo/002.arryMethd/README.md b/Challenge/hyebinWoo/002.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Challenge/hyebinWoo/002.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/hyebinWoo/002.arryMethd/solve.js b/Challenge/hyebinWoo/002.arryMethd/solve.js new file mode 100644 index 0000000..f14a42d --- /dev/null +++ b/Challenge/hyebinWoo/002.arryMethd/solve.js @@ -0,0 +1,12 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +//데이터 +let arr = [200, 100, 300]; +//pass +arr.splice(2,0,10000); +console.log(arr); + +//출력 +//[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/hyebinWoo/003.type/README.md b/Challenge/hyebinWoo/003.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/hyebinWoo/003.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/hyebinWoo/003.type/solve.js b/Challenge/hyebinWoo/003.type/solve.js new file mode 100644 index 0000000..2ea1585 --- /dev/null +++ b/Challenge/hyebinWoo/003.type/solve.js @@ -0,0 +1,15 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +let arr = [100, 200, 300]; +console.log(typeof arr); + +// 1) undefined +// 2) string +// 3) number +// 4) object + +// 4 +// 자바스크립트에서 배열은 object +// undefined, string, number 는 모두 기본 자료형(primitive type)이다. diff --git a/Challenge/hyebinWoo/004.type(2)/README.md b/Challenge/hyebinWoo/004.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/hyebinWoo/004.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/hyebinWoo/004.type(2)/solve.js b/Challenge/hyebinWoo/004.type(2)/solve.js new file mode 100644 index 0000000..f281924 --- /dev/null +++ b/Challenge/hyebinWoo/004.type(2)/solve.js @@ -0,0 +1,11 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 1) 입력 : a =1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object + +//답:2 +// 2번은 number diff --git a/Challenge/hyebinWoo/005.for/README.md b/Challenge/hyebinWoo/005.for/README.md new file mode 100644 index 0000000..e704b38 --- /dev/null +++ b/Challenge/hyebinWoo/005.for/README.md @@ -0,0 +1,20 @@ + +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); +``` + +1) 10 +2) 12 +3) 14 +4) 16 \ No newline at end of file diff --git a/Challenge/hyebinWoo/005.for/solve.js b/Challenge/hyebinWoo/005.for/solve.js new file mode 100644 index 0000000..3e2ac03 --- /dev/null +++ b/Challenge/hyebinWoo/005.for/solve.js @@ -0,0 +1,21 @@ +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +jsx; +var a = 10; +var b = 2; + +for (var i = 1; i < 5; i += 2) { + a += i; +} + +console.log(a + b); + +// 1) 10 +// 2) 12 +// 3) 14 +// 4) 16 + +//답: 4 +// for문에 a=14 그리고 b=2 더하면 16 diff --git a/Challenge/hyebinWoo/006.false/README.md b/Challenge/hyebinWoo/006.false/README.md new file mode 100644 index 0000000..66f6e1d --- /dev/null +++ b/Challenge/hyebinWoo/006.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Challenge/hyebinWoo/006.false/solve.js b/Challenge/hyebinWoo/006.false/solve.js new file mode 100644 index 0000000..063b564 --- /dev/null +++ b/Challenge/hyebinWoo/006.false/solve.js @@ -0,0 +1,13 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +// 1) NaN +// 2) 1 +// 3) "" +// 4) 0 +// 5) undefined + +// 답 : 2번 +// null, undefined, 0, 빈 문자열, NaN, false 를 제외하고는 모두 참인 값 diff --git a/Challenge/hyebinWoo/007.variable/README.md b/Challenge/hyebinWoo/007.variable/README.md new file mode 100644 index 0000000..2002c44 --- /dev/null +++ b/Challenge/hyebinWoo/007.variable/README.md @@ -0,0 +1,9 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Challenge/hyebinWoo/007.variable/solve.js b/Challenge/hyebinWoo/007.variable/solve.js new file mode 100644 index 0000000..33c9448 --- /dev/null +++ b/Challenge/hyebinWoo/007.variable/solve.js @@ -0,0 +1,14 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age +*/ + +//답:3,5번 +// 3번 경우는 예악어라 안되고 5번은 숫자로 시작하면 안된다. diff --git a/Challenge/hyebinWoo/008.object/README.md b/Challenge/hyebinWoo/008.object/README.md new file mode 100644 index 0000000..0e23154 --- /dev/null +++ b/Challenge/hyebinWoo/008.object/README.md @@ -0,0 +1,16 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Challenge/hyebinWoo/008.object/solve.js b/Challenge/hyebinWoo/008.object/solve.js new file mode 100644 index 0000000..2da5c5b --- /dev/null +++ b/Challenge/hyebinWoo/008.object/solve.js @@ -0,0 +1,19 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +*/ + +// 정답: 84 +// js는 객체의 키가 중복되는 경우 맨 뒤에 적은것을 값으로 연결해준다. diff --git a/Challenge/hyebinWoo/009.concat/README.md b/Challenge/hyebinWoo/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Challenge/hyebinWoo/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Challenge/hyebinWoo/009.concat/solve.js b/Challenge/hyebinWoo/009.concat/solve.js new file mode 100644 index 0000000..4a58d02 --- /dev/null +++ b/Challenge/hyebinWoo/009.concat/solve.js @@ -0,0 +1,31 @@ +/* +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. +*/ + +//**데이터** +var year = "2019"; +var month = "04"; +var day = "26"; +var hour = "11"; +var minute = "34"; +var second = "27"; + +var result = year.concat( + "/", + month, + "/", + day, + " ", + hour, + ":", + minute, + ":", + second +); + +console.log(result); + +//**출력** +//2019/04/26 11:34:27 diff --git a/Challenge/hyebinWoo/010.star/README.md b/Challenge/hyebinWoo/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Challenge/hyebinWoo/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Challenge/hyebinWoo/010.star/solve.js b/Challenge/hyebinWoo/010.star/solve.js new file mode 100644 index 0000000..f8868c0 --- /dev/null +++ b/Challenge/hyebinWoo/010.star/solve.js @@ -0,0 +1,35 @@ +/* +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +**입력** + + +**출력** + * + *** + ***** + ******* +********* +*/ +const num = prompt("숫자를 입력하세요."); +let star = ""; + +for (let i = 1; i <= num; i++) { + for (let j = 1; j <= num - i; j++) { + star += " "; + } + for (let z = 1; z <= 2 * i - 1; z++) { + star += "*"; + } + star += "\n"; +} +// for (let i = 1; i <= num; i++) { +// console.log(" ".repeat(num - i) + "*".repeat(2 * i - 1)); +// } +console.log(star); + diff --git a/Challenge/hyebinWoo/011.for/README.md b/Challenge/hyebinWoo/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Challenge/hyebinWoo/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/hyebinWoo/011.for/solve.js b/Challenge/hyebinWoo/011.for/solve.js new file mode 100644 index 0000000..0b02ce9 --- /dev/null +++ b/Challenge/hyebinWoo/011.for/solve.js @@ -0,0 +1,14 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +*/ +let s = 0; + +//pass +for (let i = 0; i <= 100; i++) { + s += i; +} + +console.log(s); diff --git a/Challenge/hyebinWoo/012.class/README.md b/Challenge/hyebinWoo/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Challenge/hyebinWoo/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Challenge/hyebinWoo/012.class/solve.js b/Challenge/hyebinWoo/012.class/solve.js new file mode 100644 index 0000000..24b2e6a --- /dev/null +++ b/Challenge/hyebinWoo/012.class/solve.js @@ -0,0 +1,28 @@ +/* +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +**데이터** +<여기에 class를 작성하세요.> +*/ + +class Wizard { + constructor(health, mana, armor) { + this.health = health; + this.mana = mana; + this.armor = armor; + } + attack() { + console.log("파이어볼"); + } +} + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +//**출력** +//545 210 10 +//파이어볼 diff --git a/Challenge/hyebinWoo/013.find-planet/README.md b/Challenge/hyebinWoo/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Challenge/hyebinWoo/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Challenge/hyebinWoo/013.find-planet/solve.js b/Challenge/hyebinWoo/013.find-planet/solve.js new file mode 100644 index 0000000..fb4c076 --- /dev/null +++ b/Challenge/hyebinWoo/013.find-planet/solve.js @@ -0,0 +1,29 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ +const planet = [ + "수성", + "금성", + "지구", + "화성", + "목성", + "토성", + "천왕성", + "해왕성", +]; + +const n = prompt("몇 번째 행성인가요?"); + +console.log(planet[n - 1]); diff --git a/Challenge/hyebinWoo/014.if/README.md b/Challenge/hyebinWoo/014.if/README.md new file mode 100644 index 0000000..488df61 --- /dev/null +++ b/Challenge/hyebinWoo/014.if/README.md @@ -0,0 +1,17 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +```jsx +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +``` \ No newline at end of file diff --git a/Challenge/hyebinWoo/014.if/solve.js b/Challenge/hyebinWoo/014.if/solve.js new file mode 100644 index 0000000..1759ec1 --- /dev/null +++ b/Challenge/hyebinWoo/014.if/solve.js @@ -0,0 +1,35 @@ +/* +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +*/ + +function 삼육구(number) { + let nums = number.toString().split(""); + let clap = []; + + for (let num of nums) { + if (num === "3" || num === "6" || num === "9") { + clap.push("짝"); + } + } + if (clap.length == 0) { + return console.log(number); + } else { + return console.log(clap.join()); + } +} + +삼육구(prompt("랜덤으로 아무 숫자나 입력하세요")); diff --git a/Challenge/hyebinWoo/015.template _literals/README.md b/Challenge/hyebinWoo/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Challenge/hyebinWoo/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Challenge/hyebinWoo/015.template _literals/solve.js b/Challenge/hyebinWoo/015.template _literals/solve.js new file mode 100644 index 0000000..045b4e9 --- /dev/null +++ b/Challenge/hyebinWoo/015.template _literals/solve.js @@ -0,0 +1,18 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +*/ + +function inName(name) { + return console.log(`안녕하세요 저는 ${name}입니다.`); +} +inName(prompt("이름을 입력하세요.")); diff --git "a/Challenge/hyebinWoo/016.\353\241\234\352\276\270\352\272\274/README.md" "b/Challenge/hyebinWoo/016.\353\241\234\352\276\270\352\272\274/README.md" new file mode 100644 index 0000000..6528a39 --- /dev/null +++ "b/Challenge/hyebinWoo/016.\353\241\234\352\276\270\352\272\274/README.md" @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git "a/Challenge/hyebinWoo/016.\353\241\234\352\276\270\352\272\274/solve.js" "b/Challenge/hyebinWoo/016.\353\241\234\352\276\270\352\272\274/solve.js" new file mode 100644 index 0000000..739207c --- /dev/null +++ "b/Challenge/hyebinWoo/016.\353\241\234\352\276\270\352\272\274/solve.js" @@ -0,0 +1,16 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +*/ + +function reverse(text) { + const reverse = text.split("").reverse().join(""); + return reverse; +} + +reverse(prompt("반대로 출력되게 해줄게요.")); diff --git a/Challenge/hyebinWoo/017.limit/README.md b/Challenge/hyebinWoo/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Challenge/hyebinWoo/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Challenge/hyebinWoo/017.limit/solve.js b/Challenge/hyebinWoo/017.limit/solve.js new file mode 100644 index 0000000..b435ab7 --- /dev/null +++ b/Challenge/hyebinWoo/017.limit/solve.js @@ -0,0 +1,20 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. +*/ + +function limit(height) { + // if (height >= 150) { + // console.log("YES"); + // } else { + // console.log("NO"); + // } + height >= 150 ? console.log("YES") : console.log("NO"); +} + +limit(prompt("키를 입력해주세요.")); diff --git a/Challenge/hyebinWoo/018.average/README.md b/Challenge/hyebinWoo/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Challenge/hyebinWoo/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Challenge/hyebinWoo/018.average/solve.js b/Challenge/hyebinWoo/018.average/solve.js new file mode 100644 index 0000000..eca3f90 --- /dev/null +++ b/Challenge/hyebinWoo/018.average/solve.js @@ -0,0 +1,25 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 + +*/ + +function Average(array) { + const result = array.reduce((pre, cur) => pre + cur, 0); + return Math.floor(result / array.length); +} + +Average( + prompt("평균을 구해드릴게요. 점수를 입력하세요!!") + .split(" ") + .map((x) => +x) +); diff --git a/Challenge/hyebinWoo/019.square/README.md b/Challenge/hyebinWoo/019.square/README.md new file mode 100644 index 0000000..e02a30a --- /dev/null +++ b/Challenge/hyebinWoo/019.square/README.md @@ -0,0 +1,3 @@ +문제19 : 제곱을 구하자 + +공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. \ No newline at end of file diff --git a/Challenge/hyebinWoo/019.square/solve.js b/Challenge/hyebinWoo/019.square/solve.js new file mode 100644 index 0000000..5a8365b --- /dev/null +++ b/Challenge/hyebinWoo/019.square/solve.js @@ -0,0 +1,8 @@ +// 문제19 : 제곱을 구하자 + +// 공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. + +const num = prompt().split(" "); + +//console.log(Math.pow(num[0], num[1])); +console.log(num.map((a, i) => a ** a)); diff --git a/Challenge/hyebinWoo/020.share-remainder/README.md b/Challenge/hyebinWoo/020.share-remainder/README.md new file mode 100644 index 0000000..91c7d9c --- /dev/null +++ b/Challenge/hyebinWoo/020.share-remainder/README.md @@ -0,0 +1,11 @@ +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` \ No newline at end of file diff --git a/Challenge/hyebinWoo/020.share-remainder/solve.js b/Challenge/hyebinWoo/020.share-remainder/solve.js new file mode 100644 index 0000000..a43ffad --- /dev/null +++ b/Challenge/hyebinWoo/020.share-remainder/solve.js @@ -0,0 +1,11 @@ +/* +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +**입출력** + +입력 : 10 2 +출력 : 5 0 +*/ \ No newline at end of file diff --git a/Challenge/hyebinWoo/021.set/README.md b/Challenge/hyebinWoo/021.set/README.md new file mode 100644 index 0000000..255a239 --- /dev/null +++ b/Challenge/hyebinWoo/021.set/README.md @@ -0,0 +1,9 @@ +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); \ No newline at end of file diff --git a/Challenge/hyebinWoo/021.set/solve.js b/Challenge/hyebinWoo/021.set/solve.js new file mode 100644 index 0000000..3642f9b --- /dev/null +++ b/Challenge/hyebinWoo/021.set/solve.js @@ -0,0 +1,14 @@ +/* +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); +*/ + +// 정답 3,5번 +// diff --git a/Challenge/hyebinWoo/022.multiple/README.md b/Challenge/hyebinWoo/022.multiple/README.md new file mode 100644 index 0000000..b4d74cc --- /dev/null +++ b/Challenge/hyebinWoo/022.multiple/README.md @@ -0,0 +1,9 @@ +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 \ No newline at end of file diff --git a/Challenge/hyebinWoo/022.multiple/solve.js b/Challenge/hyebinWoo/022.multiple/solve.js new file mode 100644 index 0000000..fb7341b --- /dev/null +++ b/Challenge/hyebinWoo/022.multiple/solve.js @@ -0,0 +1,13 @@ +/* +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 +*/ + +//정답 : 2번 diff --git a/Challenge/hyebinWoo/023.OX/README.md b/Challenge/hyebinWoo/023.OX/README.md new file mode 100644 index 0000000..47e0046 --- /dev/null +++ b/Challenge/hyebinWoo/023.OX/README.md @@ -0,0 +1,3 @@ +# 문제23 : OX문제 + +`console.log(10/3)`의 출력 결과는 **3**이다. \ No newline at end of file diff --git a/Challenge/hyebinWoo/023.OX/solve.js b/Challenge/hyebinWoo/023.OX/solve.js new file mode 100644 index 0000000..2684569 --- /dev/null +++ b/Challenge/hyebinWoo/023.OX/solve.js @@ -0,0 +1,7 @@ +// # 문제23: OX문제 + +// `console.log(10/3)`의 출력 결과는 ** 3 ** 이다. + +// X +// 결과: 3.333.... +// Math.floor() 함수를 사용하면 소숫점이 없는 정수를 출력할 수 있다. diff --git a/Challenge/hyebinWoo/024.toUpperCase/README.md b/Challenge/hyebinWoo/024.toUpperCase/README.md new file mode 100644 index 0000000..a5e5142 --- /dev/null +++ b/Challenge/hyebinWoo/024.toUpperCase/README.md @@ -0,0 +1,12 @@ +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +```jsx +**입출력** + +입력 : mary +출력 : MARY +``` \ No newline at end of file diff --git a/Challenge/hyebinWoo/024.toUpperCase/solve.js b/Challenge/hyebinWoo/024.toUpperCase/solve.js new file mode 100644 index 0000000..4c18551 --- /dev/null +++ b/Challenge/hyebinWoo/024.toUpperCase/solve.js @@ -0,0 +1,16 @@ +/* +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +**입출력** + +입력 : mary +출력 : MARY +*/ + +const name = prompt("소문자로 이름을 입력해주세요"); + +console.log(name.toUpperCase()); diff --git a/Challenge/hyebinWoo/025.circle-area/README.md b/Challenge/hyebinWoo/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Challenge/hyebinWoo/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Challenge/hyebinWoo/025.circle-area/solve.js b/Challenge/hyebinWoo/025.circle-area/solve.js new file mode 100644 index 0000000..7d0ac61 --- /dev/null +++ b/Challenge/hyebinWoo/025.circle-area/solve.js @@ -0,0 +1,12 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + +function circle(r) { + return parseInt(r) ** 2 * 3.14; +} + +console.log(circle(prompt("반지름을 입력하세요"))); diff --git a/Challenge/hyebinWoo/026.planet_2/README.md b/Challenge/hyebinWoo/026.planet_2/README.md new file mode 100644 index 0000000..678e82a --- /dev/null +++ b/Challenge/hyebinWoo/026.planet_2/README.md @@ -0,0 +1,6 @@ +# 문제26 : 행성 문제2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git a/Challenge/hyebinWoo/026.planet_2/solve.js b/Challenge/hyebinWoo/026.planet_2/solve.js new file mode 100644 index 0000000..bc8e56e --- /dev/null +++ b/Challenge/hyebinWoo/026.planet_2/solve.js @@ -0,0 +1,23 @@ +// 문제26 : 행성 문제2 + +// 우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +// 이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. +// 행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. + +const planet = { + 수성: "Mercury", + 금성: "Venus", + 지구: "Earth", + 화성: "Mars", + 목성: "Jupiter", + 토성: "Saturn", + 천왕성: "Uranus", + 해왕성: "Neptune", +}; + +const name = prompt("행성의 영어 이름을 말해드릴게요."); + +console.log(planet[name]); + +// planet.name이라고 생각했지만 +// 프로퍼티의 key에 변수가 포함되어 있으면 접근할 수 없다 diff --git a/Challenge/hyebinWoo/027.object/README.md b/Challenge/hyebinWoo/027.object/README.md new file mode 100644 index 0000000..9b83945 --- /dev/null +++ b/Challenge/hyebinWoo/027.object/README.md @@ -0,0 +1,14 @@ +# 문제27 : 객체 만들기 + +첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +```jsx +**입력** +Yujin Hyewon +70 100 + +**출력** +{'Yujin': 70, 'Hyewon': 100} +``` \ No newline at end of file diff --git a/Challenge/hyebinWoo/027.object/solve.js b/Challenge/hyebinWoo/027.object/solve.js new file mode 100644 index 0000000..0b3a7f8 --- /dev/null +++ b/Challenge/hyebinWoo/027.object/solve.js @@ -0,0 +1,21 @@ +// # 문제27 : 객체 만들기 + +// 첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +// 두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +// **입력** +// Yujin Hyewon +// 70 100 + +// **출력** +// {'Yujin': 70, 'Hyewon': 100} +const name = prompt("학생의 이름을 입력해주세요.").split(" "); +const score = prompt("수학점수를 입력해주세요.").split(" "); + +const obj = new Object(); + +for (let i = 0; i < name.length; i++) { + obj[name[i]] = parseInt(score[i]); +} +console.log(obj); diff --git a/Challenge/hyebinWoo/028.2-gram/README.md b/Challenge/hyebinWoo/028.2-gram/README.md new file mode 100644 index 0000000..3a0dfe1 --- /dev/null +++ b/Challenge/hyebinWoo/028.2-gram/README.md @@ -0,0 +1,23 @@ +# 문제28 : 2-gram + +**2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +```jsx +**입력** +Javascript + +**출력** +J a +a v +v a +a s +s c +c r +r i +i p +p t +``` + +입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. \ No newline at end of file diff --git a/Challenge/hyebinWoo/028.2-gram/solve.js b/Challenge/hyebinWoo/028.2-gram/solve.js new file mode 100644 index 0000000..e8cf00e --- /dev/null +++ b/Challenge/hyebinWoo/028.2-gram/solve.js @@ -0,0 +1,27 @@ +// # 문제28 : 2-gram + +// **2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +// 예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +// **입력** +// Javascript + +// **출력** +// J a +// a v +// v a +// a s +// s c +// c r +// r i +// i p +// p t + +// 입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. + +const input = prompt("문자를 입력해보세요."); + +for (let i = 0; i < input.length - 1; i++) { + console.log(input[i], input[i + 1]); +} diff --git "a/Challenge/hyebinWoo/029.\353\214\200\353\254\270\354\236\220/README.md" "b/Challenge/hyebinWoo/029.\353\214\200\353\254\270\354\236\220/README.md" new file mode 100644 index 0000000..287a235 --- /dev/null +++ "b/Challenge/hyebinWoo/029.\353\214\200\353\254\270\354\236\220/README.md" @@ -0,0 +1,5 @@ +# 문제29 : 대문자만 지나가세요 + +진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git "a/Challenge/hyebinWoo/029.\353\214\200\353\254\270\354\236\220/solve.js" "b/Challenge/hyebinWoo/029.\353\214\200\353\254\270\354\236\220/solve.js" new file mode 100644 index 0000000..5367330 --- /dev/null +++ "b/Challenge/hyebinWoo/029.\353\214\200\353\254\270\354\236\220/solve.js" @@ -0,0 +1,13 @@ +// 문제29 : 대문자만 지나가세요 + +// 진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +// 알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. + +const input = prompt("대문자면 YES를 드릴게요"); + +if (input == input.toUpperCase()) { + console.log("YES"); +} else { + console.log("NO"); +} diff --git a/Challenge/hyebinWoo/030.find-string/README.md b/Challenge/hyebinWoo/030.find-string/README.md new file mode 100644 index 0000000..b2f4ed6 --- /dev/null +++ b/Challenge/hyebinWoo/030.find-string/README.md @@ -0,0 +1,15 @@ +# 문제30 : 문자열 속 문자 찾기 + +문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +**그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +```jsx +**입력** +pineapple is yummy +apple + +**출력** +4 +``` \ No newline at end of file diff --git a/Challenge/hyebinWoo/030.find-string/solve.js b/Challenge/hyebinWoo/030.find-string/solve.js new file mode 100644 index 0000000..a781239 --- /dev/null +++ b/Challenge/hyebinWoo/030.find-string/solve.js @@ -0,0 +1,20 @@ +// # 문제30 : 문자열 속 문자 찾기 + +// 문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +// 첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +// **그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +// ```jsx +// **입력** +// pineapple is yummy +// apple + +// **출력** +// 4 +// ``` + +const input_word = prompt("문자열을 입력해주세요."); +const find_word = prompt("앞에 문자열에서 찾을 단어 시작점을 알려드릴게요."); + +console.log(input_word.indexOf(find_word)); diff --git a/Challenge/hyebinWoo/031.timeComplexity/README.md b/Challenge/hyebinWoo/031.timeComplexity/README.md new file mode 100644 index 0000000..c10ae55 --- /dev/null +++ b/Challenge/hyebinWoo/031.timeComplexity/README.md @@ -0,0 +1,9 @@ +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() +4) arr.pop() +5) arr.includes(5) \ No newline at end of file diff --git a/Challenge/hyebinWoo/031.timeComplexity/solve.js b/Challenge/hyebinWoo/031.timeComplexity/solve.js new file mode 100644 index 0000000..9d6f1e0 --- /dev/null +++ b/Challenge/hyebinWoo/031.timeComplexity/solve.js @@ -0,0 +1,14 @@ +/* +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() +4) arr.pop() +5) arr.includes(5) +*/ + +// 3. 5번 +// 시간복잡도 빅오 표기법에서 O(1)은 속도가 일정한 것 diff --git "a/Challenge/hyebinWoo/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" "b/Challenge/hyebinWoo/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" new file mode 100644 index 0000000..53459f4 --- /dev/null +++ "b/Challenge/hyebinWoo/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" @@ -0,0 +1,13 @@ +# 문제32 : 문자열 만들기 + +취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +혜림이를 위해 **문자열을 입력받으면 단어의 갯수를 출력하는 프로그램**을 작성해 주세요. + +```jsx +**입력** +안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +**출력** +5 +``` diff --git "a/Challenge/hyebinWoo/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" "b/Challenge/hyebinWoo/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" new file mode 100644 index 0000000..6fa405d --- /dev/null +++ "b/Challenge/hyebinWoo/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" @@ -0,0 +1,17 @@ +// # 문제32 : 문자열 만들기 + +// 취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +// 혜림이를 위해 문자열을 입력받으면 단어의 갯수를 출력하는 프로그램을 작성해 주세요. + +// ```jsx +// **입력** +// 안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +// **출력** +// 5 +// ``` + +const str = prompt("단어의 갯수를 알려드릴게요").split(" "); + +console.log(str.length); diff --git a/Challenge/hyebinWoo/033.Reverse/README.md b/Challenge/hyebinWoo/033.Reverse/README.md new file mode 100644 index 0000000..7d450ce --- /dev/null +++ b/Challenge/hyebinWoo/033.Reverse/README.md @@ -0,0 +1,13 @@ +# 문제33 : 거꾸로 출력하기 + +한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +```jsx +**입출력** +입력 : 1 2 3 4 5 +출력 : 5 4 3 2 1 + +**출력** +입력 : 2 4 6 7 8 +출력 : 8 7 6 4 2 +``` diff --git a/Challenge/hyebinWoo/033.Reverse/solve.js b/Challenge/hyebinWoo/033.Reverse/solve.js new file mode 100644 index 0000000..f0a10f3 --- /dev/null +++ b/Challenge/hyebinWoo/033.Reverse/solve.js @@ -0,0 +1,16 @@ +// # 문제33 : 거꾸로 출력하기 + +// 한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +// ```jsx +// **입출력** +// 입력 : 1 2 3 4 5 +// 출력 : 5 4 3 2 1 + +// **출력** +// 입력 : 2 4 6 7 8 +// 출력 : 8 7 6 4 2 +// ``` + +const arr = prompt("숫자를 역순으로 출력해드릴게요!!").split(" "); +console.log(arr.reverse().join(" ")); diff --git a/Challenge/hyebinWoo/034.Sort/README.md b/Challenge/hyebinWoo/034.Sort/README.md new file mode 100644 index 0000000..2d7e610 --- /dev/null +++ b/Challenge/hyebinWoo/034.Sort/README.md @@ -0,0 +1,15 @@ +# 문제34 : sort 구현하기 + +민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +(키는 공백으로 구분하여 입력됩니다.) + +```jsx +**입출력** +입력 : 176 156 155 165 166 169 +출력 : NO + +입력 : 155 156 165 166 169 176 +출력 : YES +``` diff --git a/Challenge/hyebinWoo/034.Sort/solve.js b/Challenge/hyebinWoo/034.Sort/solve.js new file mode 100644 index 0000000..6b7a260 --- /dev/null +++ b/Challenge/hyebinWoo/034.Sort/solve.js @@ -0,0 +1,24 @@ +// # 문제34 : sort 구현하기 + +// 민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +// 민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +// (키는 공백으로 구분하여 입력됩니다.) + +// ```jsx +// **입출력** +// 입력 : 176 156 155 165 166 169 +// 출력 : NO + +// 입력 : 155 156 165 166 169 176 +// 출력 : YES +// ``` +const height = prompt("키 순서대로 서야합니다."); +const sort = height + .split(" ") + .sort((a, b) => { + return a - b; + }) + .join(" "); + +height === sort ? console.log("YES") : console.log("NO"); diff --git a/Challenge/hyebinWoo/035.function/README.md b/Challenge/hyebinWoo/035.function/README.md new file mode 100644 index 0000000..5e4b62a --- /dev/null +++ b/Challenge/hyebinWoo/035.function/README.md @@ -0,0 +1,22 @@ +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` \ No newline at end of file diff --git a/Challenge/hyebinWoo/035.function/solve.js b/Challenge/hyebinWoo/035.function/solve.js new file mode 100644 index 0000000..737faf1 --- /dev/null +++ b/Challenge/hyebinWoo/035.function/solve.js @@ -0,0 +1,38 @@ +/* +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` +*/ +function one(n) { + function two(squared) { + return Math.pow(squared, n); + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); diff --git a/Challenge/hyebinWoo/036.Multiplication_Table/README.md b/Challenge/hyebinWoo/036.Multiplication_Table/README.md new file mode 100644 index 0000000..3691735 --- /dev/null +++ b/Challenge/hyebinWoo/036.Multiplication_Table/README.md @@ -0,0 +1,10 @@ +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` \ No newline at end of file diff --git a/Challenge/hyebinWoo/036.Multiplication_Table/solve.js b/Challenge/hyebinWoo/036.Multiplication_Table/solve.js new file mode 100644 index 0000000..b96526f --- /dev/null +++ b/Challenge/hyebinWoo/036.Multiplication_Table/solve.js @@ -0,0 +1,20 @@ +/* +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` +*/ + +const n = prompt("몇단의 구구단을 알고싶나요?"); +result = ""; + +for (let i = 1; i <= 9; i++) { + result += `${n * i} `; +} +console.log(result); diff --git "a/Challenge/hyebinWoo/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" "b/Challenge/hyebinWoo/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" new file mode 100644 index 0000000..18cac02 --- /dev/null +++ "b/Challenge/hyebinWoo/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" @@ -0,0 +1,11 @@ +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` \ No newline at end of file diff --git "a/Challenge/hyebinWoo/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" "b/Challenge/hyebinWoo/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" new file mode 100644 index 0000000..896cc72 --- /dev/null +++ "b/Challenge/hyebinWoo/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" @@ -0,0 +1,28 @@ +/* +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` +*/ +const member = prompt("반장이 될 이름을 입력해주세요.").split(" "); +let result = {}; +let winner = ""; +for (let index in member) { + let val = member[index]; + result[val] = + result[val] === undefined ? 1 : (result[val] = result[val] + 1); +} + +for (let i = 0; i < Object.keys(result).length; i++) { + if (result[Object.keys(result)[i]] > result[Object.keys(result)[i + 1]]) { + winner = Object.keys(result)[i]; + } +} +console.log(`${winner}(이)가 총 ${result[winner]}표로 반장이 되었습니다.`); diff --git "a/Challenge/hyebinWoo/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" "b/Challenge/hyebinWoo/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" new file mode 100644 index 0000000..36a32d4 --- /dev/null +++ "b/Challenge/hyebinWoo/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" @@ -0,0 +1,13 @@ +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` \ No newline at end of file diff --git "a/Challenge/hyebinWoo/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" "b/Challenge/hyebinWoo/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" new file mode 100644 index 0000000..99e0982 --- /dev/null +++ "b/Challenge/hyebinWoo/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" @@ -0,0 +1,34 @@ +/* +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` +*/ + +//내림차순으로 정렬 +const scores = prompt("점수를 입력해주세요.") + .split(" ") + .sort((a, b) => b - a); + +const set = new Set(scores); +const arr = Array.from(set); +let count = 0; + +for (let i = 0; i < scores.length; i++) { + for (let j = 0; j < 3; j++) { + if (scores[i].includes(arr[j])) { + count += 1; + } + } +} + +console.log(count); diff --git "a/Challenge/hyebinWoo/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" "b/Challenge/hyebinWoo/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" new file mode 100644 index 0000000..3b0af06 --- /dev/null +++ "b/Challenge/hyebinWoo/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" @@ -0,0 +1,18 @@ +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +``` \ No newline at end of file diff --git "a/Challenge/hyebinWoo/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" "b/Challenge/hyebinWoo/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" new file mode 100644 index 0000000..b9b9d6f --- /dev/null +++ "b/Challenge/hyebinWoo/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" @@ -0,0 +1,22 @@ +/* +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +``` +*/ +const str = prompt("q를 e로 수정해드릴게요."); +console.log(str.replaceAll("q", "e")); diff --git "a/Challenge/hyebinWoo/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" "b/Challenge/hyebinWoo/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" new file mode 100644 index 0000000..324d030 --- /dev/null +++ "b/Challenge/hyebinWoo/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" @@ -0,0 +1,22 @@ +# 문제40 : 놀이동산에 가자 + +테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다. + +**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.** + +첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. +그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다. + +```jsx +**입력** +50 +5 +20 +20 +20 +20 +20 + +**출력** +2 +``` \ No newline at end of file diff --git "a/Challenge/hyebinWoo/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" "b/Challenge/hyebinWoo/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" new file mode 100644 index 0000000..eab5295 --- /dev/null +++ "b/Challenge/hyebinWoo/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" @@ -0,0 +1,37 @@ +/* +# 문제40 : 놀이동산에 가자 + +테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다. + +**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.** + +첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. +그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다. + +```jsx +**입력** +50 +5 +20 +20 +20 +20 +20 + +**출력** +2 +``` +*/ +const limit = prompt("놀이기구 제한 무게를 입력해주세요."); +const num = prompt("인원수를 입력해주세요."); + +let count = 0; +let weight = 0; + +for (let i = 1; i < num; i++) { + weight += parseInt(prompt("무게를 입력해주세요."), 10); + if (weight <= limit) { + count = i; + } +} +console.log(count); diff --git a/Challenge/sehunKim/003.type/README.md b/Challenge/sehunKim/003.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/sehunKim/003.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/sehunKim/003.type/solve.js b/Challenge/sehunKim/003.type/solve.js new file mode 100644 index 0000000..780b2da --- /dev/null +++ b/Challenge/sehunKim/003.type/solve.js @@ -0,0 +1,13 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof(arr)); + +// 1) undefined +// 2) string +// 3) number +// 4) object + +// 정답: 4번 object, JavaScript에서 typeof는 배열을 구분하지 못하여 object로 반환한다. \ No newline at end of file diff --git a/Challenge/sehunKim/004.type(2)/README.md b/Challenge/sehunKim/004.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/sehunKim/004.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/sehunKim/004.type(2)/solve.js b/Challenge/sehunKim/004.type(2)/solve.js new file mode 100644 index 0000000..45ccb46 --- /dev/null +++ b/Challenge/sehunKim/004.type(2)/solve.js @@ -0,0 +1,10 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 1) 입력 : a =1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object + +// 2) 입력 : a = 2.22, 출력 : number이다. \ No newline at end of file diff --git a/Challenge/sehunKim/005.for/README.md b/Challenge/sehunKim/005.for/README.md new file mode 100644 index 0000000..e704b38 --- /dev/null +++ b/Challenge/sehunKim/005.for/README.md @@ -0,0 +1,20 @@ + +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); +``` + +1) 10 +2) 12 +3) 14 +4) 16 \ No newline at end of file diff --git a/Challenge/sehunKim/005.for/solve.js b/Challenge/sehunKim/005.for/solve.js new file mode 100644 index 0000000..bfad872 --- /dev/null +++ b/Challenge/sehunKim/005.for/solve.js @@ -0,0 +1,23 @@ + +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); + + +// 1) 10 +// 2) 12 +// 3) 14 +// 4) 16 + +// 정답: 4번 +// i = 1 일때 a = 11, i = 3일때 a = 14, i < 5까지 순회임으로 a + b는 16이다. \ No newline at end of file diff --git a/Challenge/sehunKim/006.false/README.md b/Challenge/sehunKim/006.false/README.md new file mode 100644 index 0000000..66f6e1d --- /dev/null +++ b/Challenge/sehunKim/006.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Challenge/sehunKim/006.false/solve.js b/Challenge/sehunKim/006.false/solve.js new file mode 100644 index 0000000..cf4097d --- /dev/null +++ b/Challenge/sehunKim/006.false/solve.js @@ -0,0 +1,12 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +// 1) NaN +// 2) 1 +// 3) "" +// 4) 0 +// 5) undefined + +// 정답: 2번 1, 1은 null,undefined,0,"",NaN,false는 false로 취급한다. \ No newline at end of file diff --git a/Challenge/sehunKim/007.variable/README.md b/Challenge/sehunKim/007.variable/README.md new file mode 100644 index 0000000..2002c44 --- /dev/null +++ b/Challenge/sehunKim/007.variable/README.md @@ -0,0 +1,9 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Challenge/sehunKim/007.variable/solve.js b/Challenge/sehunKim/007.variable/solve.js new file mode 100644 index 0000000..7c9a85d --- /dev/null +++ b/Challenge/sehunKim/007.variable/solve.js @@ -0,0 +1,13 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age +*/ + +// 정답: 3번 let, 5번 1age, JavaScript 식별자는 예약어를 사용할 수 없고 숫자가 가장 앞에 올 수 없다. \ No newline at end of file diff --git a/Challenge/sehunKim/008.object/README.md b/Challenge/sehunKim/008.object/README.md new file mode 100644 index 0000000..0e23154 --- /dev/null +++ b/Challenge/sehunKim/008.object/README.md @@ -0,0 +1,16 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Challenge/sehunKim/008.object/solve.js b/Challenge/sehunKim/008.object/solve.js new file mode 100644 index 0000000..a177306 --- /dev/null +++ b/Challenge/sehunKim/008.object/solve.js @@ -0,0 +1,18 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +*/ + +// 정답:84, 객체의 키가 중복되었을 경우, 마지막 키의 값을 가져온다. \ No newline at end of file diff --git a/Challenge/sehunKim/009.concat/README.md b/Challenge/sehunKim/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Challenge/sehunKim/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Challenge/sehunKim/009.concat/solve.js b/Challenge/sehunKim/009.concat/solve.js new file mode 100644 index 0000000..5c0a185 --- /dev/null +++ b/Challenge/sehunKim/009.concat/solve.js @@ -0,0 +1,20 @@ +/* +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; +// concat은 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열로 반환한다. 배열이 아니면 인수 를 붙여서 반환한다. +var result = year.concat('/',month,'/',day,' ',hour,':',minute,':',second); + +console.log(result); + +**출력** +2019/04/26 11:34:27 +*/ \ No newline at end of file diff --git a/Challenge/sehunKim/010.star/README.md b/Challenge/sehunKim/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Challenge/sehunKim/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Challenge/sehunKim/010.star/solve.js b/Challenge/sehunKim/010.star/solve.js new file mode 100644 index 0000000..7133d61 --- /dev/null +++ b/Challenge/sehunKim/010.star/solve.js @@ -0,0 +1,32 @@ +/* +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +*/ + +const n = prompt('숫자를 입력하세요.'); +let tree = ''; + +for (i = 0; i < n; i++) { + + for (j = 0; j < n-i; j++ ) { + tree += ' '; + } + for (k = 0; k < 2*i*1; k++) { + tree += '*' + } +} +console.log(tree); diff --git a/Challenge/sehunKim/011.for/README.md b/Challenge/sehunKim/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Challenge/sehunKim/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/sehunKim/011.for/solve.js b/Challenge/sehunKim/011.for/solve.js new file mode 100644 index 0000000..e17e792 --- /dev/null +++ b/Challenge/sehunKim/011.for/solve.js @@ -0,0 +1,13 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +let s = 0; + +//pass +for (let i = 1; i < 101; i++) { + s += i +} +console.log(s); +*/ \ No newline at end of file diff --git a/Challenge/sehunKim/012.class/README.md b/Challenge/sehunKim/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Challenge/sehunKim/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Challenge/sehunKim/012.class/solve.js b/Challenge/sehunKim/012.class/solve.js new file mode 100644 index 0000000..97c8c90 --- /dev/null +++ b/Challenge/sehunKim/012.class/solve.js @@ -0,0 +1,27 @@ +/* +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +**데이터** +<여기에 class를 작성하세요.> +const Wizard = class Wizard { + constructor (health, mana, armor) { + this.health = health; + this.mana = mana; + this.armor = armor; + } + attack () { + console.log('파이어볼'); + } +} + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +*/ \ No newline at end of file diff --git a/Challenge/sehunKim/013.find-planet/README.md b/Challenge/sehunKim/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Challenge/sehunKim/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Challenge/sehunKim/013.find-planet/solve.js b/Challenge/sehunKim/013.find-planet/solve.js new file mode 100644 index 0000000..df361e3 --- /dev/null +++ b/Challenge/sehunKim/013.find-planet/solve.js @@ -0,0 +1,21 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ + +// 정답 : +const planet = ['수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성']; +let n = prompt('숫자를 입력하세요.'); +console.log(planet[n-1]); + diff --git a/Challenge/sehunKim/014.if/README.md b/Challenge/sehunKim/014.if/README.md new file mode 100644 index 0000000..488df61 --- /dev/null +++ b/Challenge/sehunKim/014.if/README.md @@ -0,0 +1,17 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +```jsx +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +``` \ No newline at end of file diff --git a/Challenge/sehunKim/014.if/solve.js b/Challenge/sehunKim/014.if/solve.js new file mode 100644 index 0000000..32bc412 --- /dev/null +++ b/Challenge/sehunKim/014.if/solve.js @@ -0,0 +1,23 @@ +/* +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 + +정답: if (n%3 == 0) { + console.log('짝'); +} else { + console.log(n); +} +*/ \ No newline at end of file diff --git a/Challenge/sehunKim/015.template _literals/README.md b/Challenge/sehunKim/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Challenge/sehunKim/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Challenge/sehunKim/015.template _literals/solve.js b/Challenge/sehunKim/015.template _literals/solve.js new file mode 100644 index 0000000..a43fc16 --- /dev/null +++ b/Challenge/sehunKim/015.template _literals/solve.js @@ -0,0 +1,18 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. + +정답 : +let 이름 = prompt('이름을 입력하세요'); +console.log(`안녕하세요. 저는 ${이름}입니다.`); + +*/ \ No newline at end of file diff --git "a/Challenge/sehunKim/016.\353\241\234\352\276\270\352\272\274/README.md" "b/Challenge/sehunKim/016.\353\241\234\352\276\270\352\272\274/README.md" new file mode 100644 index 0000000..6528a39 --- /dev/null +++ "b/Challenge/sehunKim/016.\353\241\234\352\276\270\352\272\274/README.md" @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git "a/Challenge/sehunKim/016.\353\241\234\352\276\270\352\272\274/solve.js" "b/Challenge/sehunKim/016.\353\241\234\352\276\270\352\272\274/solve.js" new file mode 100644 index 0000000..5cbcb4a --- /dev/null +++ "b/Challenge/sehunKim/016.\353\241\234\352\276\270\352\272\274/solve.js" @@ -0,0 +1,15 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +const a = prompt('문장입력'); +const result = a.split('').reverse().join(''); +split() : 문장을 배열로 전환 +reverse() : 배열의 순서를 반대로 바꿈 +join(): 배열을 다시 문장으로 바꾸어 주는 역할을 한다. + +*/ \ No newline at end of file diff --git a/Challenge/sehunKim/017.limit/README.md b/Challenge/sehunKim/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Challenge/sehunKim/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Challenge/sehunKim/017.limit/solve.js b/Challenge/sehunKim/017.limit/solve.js new file mode 100644 index 0000000..75e4583 --- /dev/null +++ b/Challenge/sehunKim/017.limit/solve.js @@ -0,0 +1,17 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. + +const height = prompt("키를 입력하세요."); + +if (height >= 150){ + console.log("YES"); +} else { + console.log("NO"); +} +*/ \ No newline at end of file diff --git a/Challenge/sehunKim/018.average/README.md b/Challenge/sehunKim/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Challenge/sehunKim/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Challenge/sehunKim/018.average/solve.js b/Challenge/sehunKim/018.average/solve.js new file mode 100644 index 0000000..93a8018 --- /dev/null +++ b/Challenge/sehunKim/018.average/solve.js @@ -0,0 +1,28 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 + +const arr = [] + +function 평균 () { + let sum = 0; + for (let i = 0; i < arr.length; i++) { + sum += arr[i]; + } + let average = parseInt(sum / arr.length); + return average + console.log(avreage); +} + + + +*/ \ No newline at end of file diff --git a/Challenge/sehunKim/019.square/README.md b/Challenge/sehunKim/019.square/README.md new file mode 100644 index 0000000..e02a30a --- /dev/null +++ b/Challenge/sehunKim/019.square/README.md @@ -0,0 +1,3 @@ +문제19 : 제곱을 구하자 + +공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. \ No newline at end of file diff --git a/Challenge/sehunKim/019.square/solve.js b/Challenge/sehunKim/019.square/solve.js new file mode 100644 index 0000000..ece3cb8 --- /dev/null +++ b/Challenge/sehunKim/019.square/solve.js @@ -0,0 +1,7 @@ +// 문제19 : 제곱을 구하자 + +// 공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. +// 답: ```jsx +//const n = prompt('수를 입력하세요.').split(' '); + +//console.log(Math.pow(parseInt(n[0], 10), parseInt(n[1], 10))); \ No newline at end of file diff --git a/Challenge/sehunKim/020.share-remainder/README.md b/Challenge/sehunKim/020.share-remainder/README.md new file mode 100644 index 0000000..91c7d9c --- /dev/null +++ b/Challenge/sehunKim/020.share-remainder/README.md @@ -0,0 +1,11 @@ +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` \ No newline at end of file diff --git a/Challenge/sehunKim/020.share-remainder/solve.js b/Challenge/sehunKim/020.share-remainder/solve.js new file mode 100644 index 0000000..5026bc7 --- /dev/null +++ b/Challenge/sehunKim/020.share-remainder/solve.js @@ -0,0 +1,20 @@ +/* +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +**입출력** + +입력 : 10 2 +출력 : 5 0 + +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); + +console.log(); +*/ \ No newline at end of file diff --git a/Challenge/sehunKim/021.set/README.md b/Challenge/sehunKim/021.set/README.md new file mode 100644 index 0000000..255a239 --- /dev/null +++ b/Challenge/sehunKim/021.set/README.md @@ -0,0 +1,9 @@ +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); \ No newline at end of file diff --git a/Challenge/sehunKim/021.set/solve.js b/Challenge/sehunKim/021.set/solve.js new file mode 100644 index 0000000..c67b9d0 --- /dev/null +++ b/Challenge/sehunKim/021.set/solve.js @@ -0,0 +1,16 @@ +/* +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); + +정답: 3번 5번 set은 중복이 허용되지 않는 자바스크립트 내장객체이다. +그리고 var x = new Set();과 같은 형태를 지니는데, 값에는 배열이 들어가야한다. +3번 'javascript'는 문자열임으로 유사배열객체이기 때문에 가능한 듯 하다. + +*/ \ No newline at end of file diff --git a/Challenge/sehunKim/022.multiple/README.md b/Challenge/sehunKim/022.multiple/README.md new file mode 100644 index 0000000..b4d74cc --- /dev/null +++ b/Challenge/sehunKim/022.multiple/README.md @@ -0,0 +1,9 @@ +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 \ No newline at end of file diff --git a/Challenge/sehunKim/022.multiple/solve.js b/Challenge/sehunKim/022.multiple/solve.js new file mode 100644 index 0000000..bd27ada --- /dev/null +++ b/Challenge/sehunKim/022.multiple/solve.js @@ -0,0 +1,13 @@ +/* +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 + +정답: 2번 / 6을 나눈 후 나머지 값이 0이면 6으로 딱 나눠지기 값이기 때문에 6의 배수이다. +*/ \ No newline at end of file diff --git a/Challenge/sehunKim/023.OX/README.md b/Challenge/sehunKim/023.OX/README.md new file mode 100644 index 0000000..47e0046 --- /dev/null +++ b/Challenge/sehunKim/023.OX/README.md @@ -0,0 +1,3 @@ +# 문제23 : OX문제 + +`console.log(10/3)`의 출력 결과는 **3**이다. \ No newline at end of file diff --git a/Challenge/sehunKim/023.OX/solve.js b/Challenge/sehunKim/023.OX/solve.js new file mode 100644 index 0000000..b01396c --- /dev/null +++ b/Challenge/sehunKim/023.OX/solve.js @@ -0,0 +1,9 @@ +// # 문제23: OX문제 + +// `console.log(10/3)`의 출력 결과는 ** 3 ** 이다. + +// 정답: X / 자바스크립트 부동소수점 오류: 보통 계산을 할 때 '10진법'을 사용하지만, +//우리와 다르게 컴퓨터는 계산을 할 때 0과 1만 사용하는 '2진법'을 사용한다. +//그래서 10진법을 2진법으로 바꾸는 변환과정이 필요한데, 소수 중 일부는 이 과정에서 무한소수가 되어버린다. +//하지만 컴퓨터 메모리에는 한계가 있어서 무한 소수를 다 담지 못하고 중간에 잘라서 유한 소수로 저장해버린다. +//바로 이 과정에서 미세한 오차가 발생한다. \ No newline at end of file diff --git a/Challenge/sehunKim/1.arry/solve.js b/Challenge/sehunKim/1.arry/solve.js index 7ffd8bd..70d275f 100644 --- a/Challenge/sehunKim/1.arry/solve.js +++ b/Challenge/sehunKim/1.arry/solve.js @@ -1,4 +1,13 @@ // # 문제1 : 배열의 삭제 // 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. -var nums = [100, 200, 300, 400, 500]; \ No newline at end of file +var nums = [100, 200, 300, 400, 500]; + +//pop 사용 +// nums.pop(); +// nums.pop(); +// console.log(nums); + +//splice 사용 +nums.splice(3,2); +console.log(nums) \ No newline at end of file diff --git a/Challenge/sehunKim/2.arryMethd/README.md b/Challenge/sehunKim/2.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Challenge/sehunKim/2.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/sehunKim/2.arryMethd/solve.js b/Challenge/sehunKim/2.arryMethd/solve.js new file mode 100644 index 0000000..5c83183 --- /dev/null +++ b/Challenge/sehunKim/2.arryMethd/solve.js @@ -0,0 +1,13 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +arr.splice(2,0,10000); +//arr.splice(index, 지정한 index 뒤로 제거할 개수, 넣을 값1, 넣을 값2...) +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/seokahi/004.type(2)/README.md b/Challenge/seokahi/004.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/seokahi/004.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/seokahi/004.type(2)/solve.js b/Challenge/seokahi/004.type(2)/solve.js new file mode 100644 index 0000000..4a1431c --- /dev/null +++ b/Challenge/seokahi/004.type(2)/solve.js @@ -0,0 +1,14 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// console.log(typeof 1) +// console.log(typeof 2.22) +// console.log(typeof 'p') +// console.log(typeof [1, 2, 3]) +// 정답 : 2번 (number로 출력.) + +// 1) 입력 : a =1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object \ No newline at end of file diff --git a/Challenge/seokahi/005.for/README.md b/Challenge/seokahi/005.for/README.md new file mode 100644 index 0000000..e704b38 --- /dev/null +++ b/Challenge/seokahi/005.for/README.md @@ -0,0 +1,20 @@ + +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); +``` + +1) 10 +2) 12 +3) 14 +4) 16 \ No newline at end of file diff --git a/Challenge/seokahi/005.for/solve.js b/Challenge/seokahi/005.for/solve.js new file mode 100644 index 0000000..2527c0a --- /dev/null +++ b/Challenge/seokahi/005.for/solve.js @@ -0,0 +1,24 @@ + +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); + +// a= 11 +// a= 14 +// a+b = 14 + 2 = 16 + +// 정답 : 4번 + +// 1) 10 +// 2) 12 +// 3) 14 +// 4) 16 \ No newline at end of file diff --git a/Challenge/seokahi/006.false/README.md b/Challenge/seokahi/006.false/README.md new file mode 100644 index 0000000..66f6e1d --- /dev/null +++ b/Challenge/seokahi/006.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Challenge/seokahi/006.false/solve.js b/Challenge/seokahi/006.false/solve.js new file mode 100644 index 0000000..3eacc7c --- /dev/null +++ b/Challenge/seokahi/006.false/solve.js @@ -0,0 +1,17 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + + +// 정답: 2번 (1은 True로 취급) +// console.log(!!NaN) +// console.log(!!1) +// console.log(!! "") +// console.log(!!0) +// console.log(!!undefined) +// 1) NaN +// 2) 1 +// 3) "" +// 4) 0 +// 5) undefined \ No newline at end of file diff --git a/Challenge/seokahi/007.variable/README.md b/Challenge/seokahi/007.variable/README.md new file mode 100644 index 0000000..2002c44 --- /dev/null +++ b/Challenge/seokahi/007.variable/README.md @@ -0,0 +1,9 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Challenge/seokahi/007.variable/solve.js b/Challenge/seokahi/007.variable/solve.js new file mode 100644 index 0000000..32fbde9 --- /dev/null +++ b/Challenge/seokahi/007.variable/solve.js @@ -0,0 +1,20 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + + +1) age +2) Age +3) let +4) _age +5) 1age +*/ + +// 답 3번, 5번 + +// let let = 10; +// console.log(let); + +// let 1age = 20; +// console.log(1age); diff --git a/Challenge/seokahi/008.object/README.md b/Challenge/seokahi/008.object/README.md new file mode 100644 index 0000000..0e23154 --- /dev/null +++ b/Challenge/seokahi/008.object/README.md @@ -0,0 +1,16 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Challenge/seokahi/008.object/solve.js b/Challenge/seokahi/008.object/solve.js new file mode 100644 index 0000000..1a0e5ce --- /dev/null +++ b/Challenge/seokahi/008.object/solve.js @@ -0,0 +1,19 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +*/ + +// 출력값 => 84 + diff --git a/Challenge/seokahi/009.concat/README.md b/Challenge/seokahi/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Challenge/seokahi/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Challenge/seokahi/009.concat/solve.js b/Challenge/seokahi/009.concat/solve.js new file mode 100644 index 0000000..f5270e8 --- /dev/null +++ b/Challenge/seokahi/009.concat/solve.js @@ -0,0 +1,31 @@ +/* +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +*/ + +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = year.concat('/',month,'/',day,' ',hour,':',minute,':',second); + +console.log(result); \ No newline at end of file diff --git a/Challenge/seokahi/010.star/README.md b/Challenge/seokahi/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Challenge/seokahi/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Challenge/seokahi/010.star/solve.js b/Challenge/seokahi/010.star/solve.js new file mode 100644 index 0000000..200877d --- /dev/null +++ b/Challenge/seokahi/010.star/solve.js @@ -0,0 +1,44 @@ +/* +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +*/ + +// 입력받은 값 +// 1. 바로 출력 +let input_value = 5; +for(let i = 0; i< input_value; i++) { + for(let j = 0; j< input_value - i ; j++) { + process.stdout.write(" "); + } + for(let j = 0; j< i*2 +1 ;j++) { + process.stdout.write("*"); + } + process.stdout.write("\n"); +} + +// 2. 값 저장 후 한번에 출력 +let output = ""; +for(let i = 0; i< input_value; i++) { + for(let j = 0; j< input_value - i ; j++) { + output += " "; + } + for(let j = 0; j< i*2 +1 ;j++) { + output += "*"; + } + output += "\n"; +} +console.log(output); \ No newline at end of file diff --git a/Challenge/seokahi/011.for/README.md b/Challenge/seokahi/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Challenge/seokahi/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/seokahi/011.for/solve.js b/Challenge/seokahi/011.for/solve.js new file mode 100644 index 0000000..7b9731d --- /dev/null +++ b/Challenge/seokahi/011.for/solve.js @@ -0,0 +1,19 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +let s = 0; + +//pass + +console.log(s); +*/ + +let s = 0; + +for(let i =1 ; i<= 100; i++) { + s += i; +} + +console.log(s); diff --git a/Challenge/seokahi/012.class/README.md b/Challenge/seokahi/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Challenge/seokahi/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Challenge/seokahi/012.class/solve.js b/Challenge/seokahi/012.class/solve.js new file mode 100644 index 0000000..3ccd2da --- /dev/null +++ b/Challenge/seokahi/012.class/solve.js @@ -0,0 +1,32 @@ +/* +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +*/ + +class Wizard { + constructor(health,mana,armor) { + this.health = health; + this.mana = mana; + this.armor = armor; + } + + attack() { + console.log("파이어볼"); + } +} +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); \ No newline at end of file diff --git a/Challenge/seokahi/013.find-planet/README.md b/Challenge/seokahi/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Challenge/seokahi/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Challenge/seokahi/013.find-planet/solve.js b/Challenge/seokahi/013.find-planet/solve.js new file mode 100644 index 0000000..dde7238 --- /dev/null +++ b/Challenge/seokahi/013.find-planet/solve.js @@ -0,0 +1,19 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ + +const planet = ["수성", "금성", "지구", "화성", "목성", "토성", "천왕성", "해왕성"]; +let input_value = prompt("입력해주세요"); +console.log(planet[input_value-1]); \ No newline at end of file diff --git a/Challenge/seokahi/014.if/README.md b/Challenge/seokahi/014.if/README.md new file mode 100644 index 0000000..488df61 --- /dev/null +++ b/Challenge/seokahi/014.if/README.md @@ -0,0 +1,17 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +```jsx +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +``` \ No newline at end of file diff --git a/Challenge/seokahi/014.if/solve.js b/Challenge/seokahi/014.if/solve.js new file mode 100644 index 0000000..475f615 --- /dev/null +++ b/Challenge/seokahi/014.if/solve.js @@ -0,0 +1,25 @@ +/* +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +*/ + +let input_value = prompt("입력해주세요."); +if (input_value % 3 == 0) { + console.log("짝"); +} +else { + console.log(input_value); +} diff --git a/Challenge/seokahi/015.template _literals/README.md b/Challenge/seokahi/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Challenge/seokahi/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Challenge/seokahi/015.template _literals/solve.js b/Challenge/seokahi/015.template _literals/solve.js new file mode 100644 index 0000000..048d23d --- /dev/null +++ b/Challenge/seokahi/015.template _literals/solve.js @@ -0,0 +1,16 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +*/ + +let input= prompt("입력해주세요"); +console.log(`안녕하세요. 저는 ${input}입니다.`); \ No newline at end of file diff --git "a/Challenge/seokahi/016.\353\241\234\352\276\270\352\272\274/README.md" "b/Challenge/seokahi/016.\353\241\234\352\276\270\352\272\274/README.md" new file mode 100644 index 0000000..6528a39 --- /dev/null +++ "b/Challenge/seokahi/016.\353\241\234\352\276\270\352\272\274/README.md" @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git "a/Challenge/seokahi/016.\353\241\234\352\276\270\352\272\274/solve.js" "b/Challenge/seokahi/016.\353\241\234\352\276\270\352\272\274/solve.js" new file mode 100644 index 0000000..ff6797c --- /dev/null +++ "b/Challenge/seokahi/016.\353\241\234\352\276\270\352\272\274/solve.js" @@ -0,0 +1,16 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +*/ + +let input = prompt("입력해주세요."); +let result=""; +for(let i =input.length-1;i>=0;i--) { + result += input[i]; +} +console.log(result); \ No newline at end of file diff --git a/Challenge/seokahi/017.limit/README.md b/Challenge/seokahi/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Challenge/seokahi/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Challenge/seokahi/017.limit/solve.js b/Challenge/seokahi/017.limit/solve.js new file mode 100644 index 0000000..e129d6f --- /dev/null +++ b/Challenge/seokahi/017.limit/solve.js @@ -0,0 +1,12 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. +*/ +let input = parseInt(prompt("입력해주세요!")); +if(input >150) { console.log("YES");} +else { console.log("NO");} diff --git a/Challenge/seokahi/018.average/README.md b/Challenge/seokahi/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Challenge/seokahi/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Challenge/seokahi/018.average/solve.js b/Challenge/seokahi/018.average/solve.js new file mode 100644 index 0000000..99733c0 --- /dev/null +++ b/Challenge/seokahi/018.average/solve.js @@ -0,0 +1,18 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 + +*/ +let input=prompt("입력해주세요").split(" "); +let sum = 0; +let average = Math.floor((input.reduce((cal,cur)=> (+cal)+(+cur)))/input.length); +console.log(average); diff --git a/Challenge/seokahi/019.square/README.md b/Challenge/seokahi/019.square/README.md new file mode 100644 index 0000000..e02a30a --- /dev/null +++ b/Challenge/seokahi/019.square/README.md @@ -0,0 +1,3 @@ +문제19 : 제곱을 구하자 + +공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. \ No newline at end of file diff --git a/Challenge/seokahi/019.square/solve.js b/Challenge/seokahi/019.square/solve.js new file mode 100644 index 0000000..81a21db --- /dev/null +++ b/Challenge/seokahi/019.square/solve.js @@ -0,0 +1,6 @@ +// 문제19 : 제곱을 구하자 + +// 공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. +let [a,b] = prompt("입력해주세요.").split(' '); +let result = (+a)**(+b) +console.log(result); \ No newline at end of file diff --git a/Challenge/seokahi/020.share-remainder/README.md b/Challenge/seokahi/020.share-remainder/README.md new file mode 100644 index 0000000..91c7d9c --- /dev/null +++ b/Challenge/seokahi/020.share-remainder/README.md @@ -0,0 +1,11 @@ +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` \ No newline at end of file diff --git a/Challenge/seokahi/020.share-remainder/solve.js b/Challenge/seokahi/020.share-remainder/solve.js new file mode 100644 index 0000000..7d01ed4 --- /dev/null +++ b/Challenge/seokahi/020.share-remainder/solve.js @@ -0,0 +1,15 @@ +/* +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +**입출력** + +입력 : 10 2 +출력 : 5 0 +*/ +let [a,b]=prompt("입력해주세요.").split(" "); +let share = a/b; +let Remainder = a%b; +console.log(share+' '+Remainder); \ No newline at end of file diff --git a/Challenge/seokahi/021.set/README.md b/Challenge/seokahi/021.set/README.md new file mode 100644 index 0000000..255a239 --- /dev/null +++ b/Challenge/seokahi/021.set/README.md @@ -0,0 +1,9 @@ +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); \ No newline at end of file diff --git a/Challenge/seokahi/021.set/solve.js b/Challenge/seokahi/021.set/solve.js new file mode 100644 index 0000000..a610022 --- /dev/null +++ b/Challenge/seokahi/021.set/solve.js @@ -0,0 +1,19 @@ +/* +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); +*/ + +// 정답 : 3,5 + +var x = new Set('javascript'); +console.log(x,typeof x); + +var x = new Set(); +console.log(x); \ No newline at end of file diff --git a/Challenge/seokahi/022.multiple/README.md b/Challenge/seokahi/022.multiple/README.md new file mode 100644 index 0000000..b4d74cc --- /dev/null +++ b/Challenge/seokahi/022.multiple/README.md @@ -0,0 +1,9 @@ +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 \ No newline at end of file diff --git a/Challenge/seokahi/022.multiple/solve.js b/Challenge/seokahi/022.multiple/solve.js new file mode 100644 index 0000000..a0286c0 --- /dev/null +++ b/Challenge/seokahi/022.multiple/solve.js @@ -0,0 +1,14 @@ +/* +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 +*/ + +// 정답 : 2번 + diff --git a/Challenge/seokahi/023.OX/README.md b/Challenge/seokahi/023.OX/README.md new file mode 100644 index 0000000..47e0046 --- /dev/null +++ b/Challenge/seokahi/023.OX/README.md @@ -0,0 +1,3 @@ +# 문제23 : OX문제 + +`console.log(10/3)`의 출력 결과는 **3**이다. \ No newline at end of file diff --git a/Challenge/seokahi/023.OX/solve.js b/Challenge/seokahi/023.OX/solve.js new file mode 100644 index 0000000..b283947 --- /dev/null +++ b/Challenge/seokahi/023.OX/solve.js @@ -0,0 +1,6 @@ +// # 문제23: OX문제 + +// `console.log(10/3)`의 출력 결과는 ** 3 ** 이다. + +// 정답 : x +// console.log(10/3) -> 3.3333333333333335 \ No newline at end of file diff --git a/Challenge/seokahi/024.toUpperCase/README.md b/Challenge/seokahi/024.toUpperCase/README.md new file mode 100644 index 0000000..a5e5142 --- /dev/null +++ b/Challenge/seokahi/024.toUpperCase/README.md @@ -0,0 +1,12 @@ +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +```jsx +**입출력** + +입력 : mary +출력 : MARY +``` \ No newline at end of file diff --git a/Challenge/seokahi/024.toUpperCase/solve.js b/Challenge/seokahi/024.toUpperCase/solve.js new file mode 100644 index 0000000..d19fc5f --- /dev/null +++ b/Challenge/seokahi/024.toUpperCase/solve.js @@ -0,0 +1,15 @@ +/* +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +**입출력** + +입력 : mary +출력 : MARY +*/ +const input = prompt("입력해주세요").split(" ").toString(); +const toUpperCase = input.toUpperCase(); +console.log(toUpperCase); \ No newline at end of file diff --git a/Challenge/seokahi/025.circle-area/README.md b/Challenge/seokahi/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Challenge/seokahi/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Challenge/seokahi/025.circle-area/solve.js b/Challenge/seokahi/025.circle-area/solve.js new file mode 100644 index 0000000..ea188ae --- /dev/null +++ b/Challenge/seokahi/025.circle-area/solve.js @@ -0,0 +1,16 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + +function Circle(r) { + return r*r*3.14 +} +const input = parseInt(prompt('반지름 길이를 입력해주세요.').split(" ")) +console.log('원의 넓이', Circle(input)); + + + + \ No newline at end of file diff --git a/Challenge/seokahi/026.planet_2/README.md b/Challenge/seokahi/026.planet_2/README.md new file mode 100644 index 0000000..678e82a --- /dev/null +++ b/Challenge/seokahi/026.planet_2/README.md @@ -0,0 +1,6 @@ +# 문제26 : 행성 문제2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git a/Challenge/seokahi/026.planet_2/solve.js b/Challenge/seokahi/026.planet_2/solve.js new file mode 100644 index 0000000..2714e66 --- /dev/null +++ b/Challenge/seokahi/026.planet_2/solve.js @@ -0,0 +1,18 @@ +// 문제26 : 행성 문제2 + +// 우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +// 이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +const planet = { + "수성":"Mercury", + "금성":"Venus", + "지구":"Earth", + "화성":"Mars", + "목성":"Jupiter", + "토성":"Saturn", + "천왕성":"Uranus", + "해왕성":"Neptune" +} + +const inputPlanet = prompt('행성 이름을 입력해주세요.').split(" ").toString(); +console.log(planet[inputPlanet]); \ No newline at end of file diff --git a/Challenge/seokahi/027.object/README.md b/Challenge/seokahi/027.object/README.md new file mode 100644 index 0000000..9b83945 --- /dev/null +++ b/Challenge/seokahi/027.object/README.md @@ -0,0 +1,14 @@ +# 문제27 : 객체 만들기 + +첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +```jsx +**입력** +Yujin Hyewon +70 100 + +**출력** +{'Yujin': 70, 'Hyewon': 100} +``` \ No newline at end of file diff --git a/Challenge/seokahi/027.object/solve.js b/Challenge/seokahi/027.object/solve.js new file mode 100644 index 0000000..551a500 --- /dev/null +++ b/Challenge/seokahi/027.object/solve.js @@ -0,0 +1,20 @@ +// # 문제27 : 객체 만들기 + +// 첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +// 두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + + +// **입력** +// Yujin Hyewon +// 70 100 + +// **출력** +// {'Yujin': 70, 'Hyewon': 100} +const object_user = {}; +const name = prompt('이름을 입력해주세요').split(" ") +const score = prompt('점수를 입력해주세요').split(" ") + +for(let i=0;i<2;i++) { + object_user[name[i]] = score[i] +} \ No newline at end of file diff --git a/Challenge/seokahi/028.2-gram/README.md b/Challenge/seokahi/028.2-gram/README.md new file mode 100644 index 0000000..3a0dfe1 --- /dev/null +++ b/Challenge/seokahi/028.2-gram/README.md @@ -0,0 +1,23 @@ +# 문제28 : 2-gram + +**2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +```jsx +**입력** +Javascript + +**출력** +J a +a v +v a +a s +s c +c r +r i +i p +p t +``` + +입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. \ No newline at end of file diff --git a/Challenge/seokahi/028.2-gram/solve.js b/Challenge/seokahi/028.2-gram/solve.js new file mode 100644 index 0000000..159563d --- /dev/null +++ b/Challenge/seokahi/028.2-gram/solve.js @@ -0,0 +1,27 @@ +// # 문제28 : 2-gram + +// **2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +// 예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + + +// **입력** +// Javascript + +// **출력** +// J a +// a v +// v a +// a s +// s c +// c r +// r i +// i p +// p t + + +// 입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. +const input =prompt('숫자를 입력해주세요.').split(" ").toString(); +for(let i=0;i부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/seokahi/2.arryMethd/solve.js b/Challenge/seokahi/2.arryMethd/solve.js new file mode 100644 index 0000000..a32ffdf --- /dev/null +++ b/Challenge/seokahi/2.arryMethd/solve.js @@ -0,0 +1,11 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +// 데이터 +var arr = [200, 100, 300]; +arr.splice(2,0,10000); +console.log(arr); + +// 출력 +// [200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/seokahi/3.type/README.md b/Challenge/seokahi/3.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/seokahi/3.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/seokahi/3.type/solve.js b/Challenge/seokahi/3.type/solve.js new file mode 100644 index 0000000..9104753 --- /dev/null +++ b/Challenge/seokahi/3.type/solve.js @@ -0,0 +1,11 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof(arr)); +// 정답 : 4번 object +// 1) undefined +// 2) string +// 3) number +// 4) object \ No newline at end of file diff --git a/Challenge/seyeongLee/001.array/README.md b/Challenge/seyeongLee/001.array/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/seyeongLee/001.array/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/seyeongLee/001.array/solve.js b/Challenge/seyeongLee/001.array/solve.js new file mode 100644 index 0000000..df08e42 --- /dev/null +++ b/Challenge/seyeongLee/001.array/solve.js @@ -0,0 +1,15 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; + +// 첫번째 방법 +// nums.splice(3, 2); + +// 두번째 방법 +// nums.splice(-2, 2); + +// 세번째 방법 +nums.pop(); +nums.pop(); +console.log(nums); \ No newline at end of file diff --git a/Challenge/seyeongLee/002.arrayMethod/README.md b/Challenge/seyeongLee/002.arrayMethod/README.md new file mode 100644 index 0000000..4a25f9f --- /dev/null +++ b/Challenge/seyeongLee/002.arrayMethod/README.md @@ -0,0 +1,13 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +```jsx +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/002.arrayMethod/solve.js b/Challenge/seyeongLee/002.arrayMethod/solve.js new file mode 100644 index 0000000..6068a91 --- /dev/null +++ b/Challenge/seyeongLee/002.arrayMethod/solve.js @@ -0,0 +1,18 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + + +// 첫번째 방법 +const arr1 = [200, 100, 300]; +arr1.splice(2, 0, 10000); +console.log(arr1); + + +// 두번째 방법 +const arr2 = [200, 100, 300]; +arr2.splice(-1, 0, 10000); +console.log(arr2); + + +// result : [200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/seyeongLee/003.type/README.md b/Challenge/seyeongLee/003.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/seyeongLee/003.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/seyeongLee/003.type/solve.js b/Challenge/seyeongLee/003.type/solve.js new file mode 100644 index 0000000..ee43b67 --- /dev/null +++ b/Challenge/seyeongLee/003.type/solve.js @@ -0,0 +1,18 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof (arr)); + +// 1) undefined +// 2) string +// 3) number +// 4) object -----> 정답!! +// why? 배열은 원사자료형이 아닌 객체자료형에 속하기 때문에 객체처럼 동작. 즉 배열은 'object'의 특수한 한 형태. +// 그러므로 typeof(배열)의 결과는 object + + +// 어떠한 데이터가 배열인지 아닌지 정확히 확인하기 위해서 'isArray()' 함수를 사용. +// 배열이면 true 아니면 false를 반환 +console.log(Array.isArray(arr)); // result : true \ No newline at end of file diff --git a/Challenge/seyeongLee/004.type(2)/README.md b/Challenge/seyeongLee/004.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/seyeongLee/004.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/seyeongLee/004.type(2)/solve.js b/Challenge/seyeongLee/004.type(2)/solve.js new file mode 100644 index 0000000..a9b8392 --- /dev/null +++ b/Challenge/seyeongLee/004.type(2)/solve.js @@ -0,0 +1,18 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 1) 입력 : a =1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean -----> 정답!! why? 실수도 number이기 때문 +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object + + +const input1 = 1; +const input2 = 2.22; +const input3 = 'p'; +const input4 = [1, 2, 3]; +console.log(typeof (input1)); // result : number +console.log(typeof (input2)); // result : number +console.log(typeof (input3)); // result : string +console.log(typeof (input4)); // result : object \ No newline at end of file diff --git a/Challenge/seyeongLee/005.for/README.md b/Challenge/seyeongLee/005.for/README.md new file mode 100644 index 0000000..e704b38 --- /dev/null +++ b/Challenge/seyeongLee/005.for/README.md @@ -0,0 +1,20 @@ + +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); +``` + +1) 10 +2) 12 +3) 14 +4) 16 \ No newline at end of file diff --git a/Challenge/seyeongLee/005.for/solve.js b/Challenge/seyeongLee/005.for/solve.js new file mode 100644 index 0000000..4ad4a1e --- /dev/null +++ b/Challenge/seyeongLee/005.for/solve.js @@ -0,0 +1,19 @@ + +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +var a = 10; +var b = 2; + +for (var i = 1; i < 5; i += 2) { + a += i; +} + +console.log(a + b); // result : 16 + + +// 1) 10 +// 2) 12 +// 3) 14 +// 4) 16 -----> 정답!! why? 10 + 1 + 3 + 2 = 16 \ No newline at end of file diff --git a/Challenge/seyeongLee/006.false/README.md b/Challenge/seyeongLee/006.false/README.md new file mode 100644 index 0000000..66f6e1d --- /dev/null +++ b/Challenge/seyeongLee/006.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Challenge/seyeongLee/006.false/solve.js b/Challenge/seyeongLee/006.false/solve.js new file mode 100644 index 0000000..dabf800 --- /dev/null +++ b/Challenge/seyeongLee/006.false/solve.js @@ -0,0 +1,17 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +// 1) NaN +// 2) 1 -----> 정답!! why? 0외의 숫자는 전부 true +// 3) "" +// 4) 0 +// 5) undefined + + +console.log(!!NaN); // result : false +console.log(!!1); // result : true +console.log(!!""); // result : false +console.log(!!0); // result : false +console.log(!!undefined); // result : false \ No newline at end of file diff --git a/Challenge/seyeongLee/007.variable/README.md b/Challenge/seyeongLee/007.variable/README.md new file mode 100644 index 0000000..2002c44 --- /dev/null +++ b/Challenge/seyeongLee/007.variable/README.md @@ -0,0 +1,9 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Challenge/seyeongLee/007.variable/solve.js b/Challenge/seyeongLee/007.variable/solve.js new file mode 100644 index 0000000..18e925b --- /dev/null +++ b/Challenge/seyeongLee/007.variable/solve.js @@ -0,0 +1,17 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let -----> 정답!! +4) _age +5) 1age -----> 정답!! +*/ + +const age = 20; +const Age = 20; +const let = 20; // error : 예약어는 변수명으로 쓸 수 없다. +const _age = 20; +const 1age = 20; // error : 숫자는 변수명의 맨 앞에 쓸 수 없다. \ No newline at end of file diff --git a/Challenge/seyeongLee/008.object/README.md b/Challenge/seyeongLee/008.object/README.md new file mode 100644 index 0000000..0e23154 --- /dev/null +++ b/Challenge/seyeongLee/008.object/README.md @@ -0,0 +1,16 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/008.object/solve.js b/Challenge/seyeongLee/008.object/solve.js new file mode 100644 index 0000000..96ea7b8 --- /dev/null +++ b/Challenge/seyeongLee/008.object/solve.js @@ -0,0 +1,28 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); -----> 정답 : 84 +*/ + +var d = { + 'height': 180, + 'weight': 78, + 'weight': 84, + 'temperature': 36, + 'eyesight': 1 +}; + +console.log(d['weight']); // result : 84 +console.log(d.weight); // result : 84 +// 객체이름[key] or 객체이름.key는 해당 key에 대응하는 value를 반환한다. \ No newline at end of file diff --git a/Challenge/seyeongLee/009.concat/README.md b/Challenge/seyeongLee/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Challenge/seyeongLee/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/009.concat/solve.js b/Challenge/seyeongLee/009.concat/solve.js new file mode 100644 index 0000000..78062c2 --- /dev/null +++ b/Challenge/seyeongLee/009.concat/solve.js @@ -0,0 +1,36 @@ +/* +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +*/ + +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +// 첫번째 방법 +var result1 = year.concat('/', month, '/', day, ' ', hour, ':', minute, ':', second); + +// 두번째 방법 +var result2 = year + '/' + month + '/' + day + ' ' + hour + ':' + minute + ':' + second; + +console.log(result1); // 2019/04/26 11:34:27 +console.log(result2); // 2019/04/26 11:34:27 \ No newline at end of file diff --git a/Challenge/seyeongLee/010.star/README.md b/Challenge/seyeongLee/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Challenge/seyeongLee/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/010.star/solve.js b/Challenge/seyeongLee/010.star/solve.js new file mode 100644 index 0000000..77a0d79 --- /dev/null +++ b/Challenge/seyeongLee/010.star/solve.js @@ -0,0 +1,65 @@ +/* +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +*/ + +// 첫번째 방법 : 웹브라우저 +const input = prompt("줄(행)의 갯수를 입력하세요"); + +for (let i = 0; i < input; i++) { + let result = ''; + for (let j = 0; j < input - i - 1; j++) { + result += ' '; + } + for (let k = 0; k < (2 * i + 1); k++) { + result += '*'; + } + console.log(result); +} + + +// 두번째 방법 : node.js +const readline = require("readline"); + +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, +}); + +rl.question("줄(행)의 갯수를 입력하세요 : ", (input) => { + + for (let i = 0; i < input; i++) { + let result = ''; + for (let j = 0; j < input - i - 1; j++) { + result += ' '; + } + for (let k = 0; k < (2 * i + 1); k++) { + result += '*'; + } + console.log(result); + } + + rl.close(); +}); + +rl.on('close', () => { + process.exit(); +}) + +// 위와 같이 대표적인 런타임 환경(웹브라우저, node.js)에 따라 2가지 방식으로 문제를 풀이할 수 있습니다. +// 웹브라우저와 node.js는 값을 입력받는 코드가 다르지만 +// 그 외 문제 풀이법은 동일하기 때문에 앞으로는 웹브라우저 방식으로만 올리겠습니다. \ No newline at end of file diff --git a/Challenge/seyeongLee/011.for/README.md b/Challenge/seyeongLee/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Challenge/seyeongLee/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/011.for/solve.js b/Challenge/seyeongLee/011.for/solve.js new file mode 100644 index 0000000..1e2f2e2 --- /dev/null +++ b/Challenge/seyeongLee/011.for/solve.js @@ -0,0 +1,18 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +let s = 0; + +//pass + +console.log(s); +*/ + +let s = 0; + +for (let i = 1; i <= 100; i++) { + s += i; +} +console.log(s); // result : 5050 \ No newline at end of file diff --git a/Challenge/seyeongLee/012.class/README.md b/Challenge/seyeongLee/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Challenge/seyeongLee/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/012.class/solve.js b/Challenge/seyeongLee/012.class/solve.js new file mode 100644 index 0000000..92b32d6 --- /dev/null +++ b/Challenge/seyeongLee/012.class/solve.js @@ -0,0 +1,33 @@ +/* +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +*/ + +class Wizard { + constructor(health, mana, armor) { + this.health = health; + this.mana = mana; + this.armor = armor; + } + + attack() { + console.log("파이어볼"); + } +} + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); // result : 545 210 10 +x.attack(); // result : 파이어볼 \ No newline at end of file diff --git a/Challenge/seyeongLee/013.find-planet/README.md b/Challenge/seyeongLee/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Challenge/seyeongLee/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/013.find-planet/solve.js b/Challenge/seyeongLee/013.find-planet/solve.js new file mode 100644 index 0000000..739942e --- /dev/null +++ b/Challenge/seyeongLee/013.find-planet/solve.js @@ -0,0 +1,21 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ + +let planet_arr = ['수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성']; + +let input = prompt("몇번 째 행성이 궁금하신가요?", "1이상 8이하의 숫자를 입력하세요."); + +document.write(`행성 이름 : ${planet_arr[input - 1]}`); diff --git a/Challenge/seyeongLee/014.if/README.md b/Challenge/seyeongLee/014.if/README.md new file mode 100644 index 0000000..488df61 --- /dev/null +++ b/Challenge/seyeongLee/014.if/README.md @@ -0,0 +1,17 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +```jsx +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/014.if/solve.js b/Challenge/seyeongLee/014.if/solve.js new file mode 100644 index 0000000..6aa5fdf --- /dev/null +++ b/Challenge/seyeongLee/014.if/solve.js @@ -0,0 +1,25 @@ +/* +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +*/ + +let input = prompt("숫자를 입력하세요."); + +if (input % 3 == 0 && input !== '0') { + document.write("출력 : 짝"); +} else { + document.write(`출력 : ${input}`); +} \ No newline at end of file diff --git a/Challenge/seyeongLee/015.template _literals/README.md b/Challenge/seyeongLee/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Challenge/seyeongLee/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/015.template _literals/solve.js b/Challenge/seyeongLee/015.template _literals/solve.js new file mode 100644 index 0000000..1e27f25 --- /dev/null +++ b/Challenge/seyeongLee/015.template _literals/solve.js @@ -0,0 +1,16 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +*/ +let name = prompt("이름을 입력하세요") + +document.write(`안녕하세요. 저는 ${name}입니다.`); \ No newline at end of file diff --git a/Challenge/seyeongLee/016.reverse/README.md b/Challenge/seyeongLee/016.reverse/README.md new file mode 100644 index 0000000..6528a39 --- /dev/null +++ b/Challenge/seyeongLee/016.reverse/README.md @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git a/Challenge/seyeongLee/016.reverse/solve.js b/Challenge/seyeongLee/016.reverse/solve.js new file mode 100644 index 0000000..31bb687 --- /dev/null +++ b/Challenge/seyeongLee/016.reverse/solve.js @@ -0,0 +1,12 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +*/ +let input = prompt("단어 or 문장을 입력하세요"); + +document.write(input.split('').reverse().join('')); \ No newline at end of file diff --git a/Challenge/seyeongLee/017.limit/README.md b/Challenge/seyeongLee/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Challenge/seyeongLee/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Challenge/seyeongLee/017.limit/solve.js b/Challenge/seyeongLee/017.limit/solve.js new file mode 100644 index 0000000..e9b4a7d --- /dev/null +++ b/Challenge/seyeongLee/017.limit/solve.js @@ -0,0 +1,16 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. +*/ +let input = prompt("키를 입력하세요"); + +if (input >= 150) { + document.write("YES"); +} else { + document.write("NO"); +} \ No newline at end of file diff --git a/Challenge/seyeongLee/018.average/README.md b/Challenge/seyeongLee/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Challenge/seyeongLee/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Challenge/seyeongLee/018.average/solve.js b/Challenge/seyeongLee/018.average/solve.js new file mode 100644 index 0000000..4aa2d0b --- /dev/null +++ b/Challenge/seyeongLee/018.average/solve.js @@ -0,0 +1,23 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 + +*/ +let input = prompt("국어,수학,영어 점수를 순서대로 입력해주세요").split(" "); + +let sum = 0; +let input_len = input.length; + +input.map(x => sum += +x); + +document.write(`국어,수학,영어 점수 : ${input.join(" ")}
`) +document.write(`평균 : ${Math.floor(sum / input_len)}점`); \ No newline at end of file diff --git a/Challenge/seyeongLee/019.square/README.md b/Challenge/seyeongLee/019.square/README.md new file mode 100644 index 0000000..e02a30a --- /dev/null +++ b/Challenge/seyeongLee/019.square/README.md @@ -0,0 +1,3 @@ +문제19 : 제곱을 구하자 + +공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. \ No newline at end of file diff --git a/Challenge/seyeongLee/019.square/solve.js b/Challenge/seyeongLee/019.square/solve.js new file mode 100644 index 0000000..29a20a7 --- /dev/null +++ b/Challenge/seyeongLee/019.square/solve.js @@ -0,0 +1,12 @@ +// 문제19 : 제곱을 구하자 + +// 공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. + +let input = prompt("a의 b승 -> 원하는 a와 b 값을 입력하세요").split(" "); + +// +를 넣어줌으로서 문자열을 숫자형으로 변환 +// +없어도 계산에 문제는 없음 +let a = +input[0]; +let b = +input[1]; + +document.write(`${a}의 ${b}승 = ${a ** b}`); \ No newline at end of file diff --git a/Challenge/seyeongLee/020.share-remainder/README.md b/Challenge/seyeongLee/020.share-remainder/README.md new file mode 100644 index 0000000..91c7d9c --- /dev/null +++ b/Challenge/seyeongLee/020.share-remainder/README.md @@ -0,0 +1,11 @@ +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/020.share-remainder/solve.js b/Challenge/seyeongLee/020.share-remainder/solve.js new file mode 100644 index 0000000..dc0d7e4 --- /dev/null +++ b/Challenge/seyeongLee/020.share-remainder/solve.js @@ -0,0 +1,19 @@ +/* +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +**입출력** + +입력 : 10 2 +출력 : 5 0 +*/ + +let input = prompt("a 나누기 b -> 원하는 a와 b값을 입력하세요").split(" "); + +let a = input[0]; +let b = input[1]; + +document.write(`a = ${a}, b = ${b}
`); +document.write(`몫 = ${Math.floor(a / b)}, 나머지 = ${a % b}`); \ No newline at end of file diff --git a/Challenge/seyeongLee/021.set/README.md b/Challenge/seyeongLee/021.set/README.md new file mode 100644 index 0000000..255a239 --- /dev/null +++ b/Challenge/seyeongLee/021.set/README.md @@ -0,0 +1,9 @@ +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); \ No newline at end of file diff --git a/Challenge/seyeongLee/021.set/solve.js b/Challenge/seyeongLee/021.set/solve.js new file mode 100644 index 0000000..2477130 --- /dev/null +++ b/Challenge/seyeongLee/021.set/solve.js @@ -0,0 +1,22 @@ +/* +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); +*/ + +// 정답 : 3번, 5번 +var x1 = new Set('javascript'); +var x2 = new Set(); + +console.log(x1); +console.log(x2); + +// set은 객체 생성자를 이용하여 집합을 생성 +// 이 때 배열,맵,집합,문자열 등을 받는다. +// 인자를 넣지않으면 크기가 0인 빈 집합이 생성된다. diff --git a/Challenge/seyeongLee/022.multiple/README.md b/Challenge/seyeongLee/022.multiple/README.md new file mode 100644 index 0000000..b4d74cc --- /dev/null +++ b/Challenge/seyeongLee/022.multiple/README.md @@ -0,0 +1,9 @@ +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 \ No newline at end of file diff --git a/Challenge/seyeongLee/022.multiple/solve.js b/Challenge/seyeongLee/022.multiple/solve.js new file mode 100644 index 0000000..392eed8 --- /dev/null +++ b/Challenge/seyeongLee/022.multiple/solve.js @@ -0,0 +1,15 @@ +/* +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 +*/ + +// 6의 배수인지 확인하기 위해서는 +// 6으로 나눴을 때 나머지가 0이면 된다. +// 그러므로 나머지 수식을 사용한 2번이 정답 \ No newline at end of file diff --git a/Challenge/seyeongLee/023.OX/README.md b/Challenge/seyeongLee/023.OX/README.md new file mode 100644 index 0000000..47e0046 --- /dev/null +++ b/Challenge/seyeongLee/023.OX/README.md @@ -0,0 +1,3 @@ +# 문제23 : OX문제 + +`console.log(10/3)`의 출력 결과는 **3**이다. \ No newline at end of file diff --git a/Challenge/seyeongLee/023.OX/solve.js b/Challenge/seyeongLee/023.OX/solve.js new file mode 100644 index 0000000..efb9929 --- /dev/null +++ b/Challenge/seyeongLee/023.OX/solve.js @@ -0,0 +1,7 @@ +// # 문제23: OX문제 + +// `console.log(10/3)`의 출력 결과는 ** 3 ** 이다. + +// 정답 : X +console.log(10/3); // result : 3.3333333333333335 +console.log(Math.floor(10/3)); // result : 3 \ No newline at end of file diff --git a/Challenge/seyeongLee/024.toUpperCase/README.md b/Challenge/seyeongLee/024.toUpperCase/README.md new file mode 100644 index 0000000..a5e5142 --- /dev/null +++ b/Challenge/seyeongLee/024.toUpperCase/README.md @@ -0,0 +1,12 @@ +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +```jsx +**입출력** + +입력 : mary +출력 : MARY +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/024.toUpperCase/solve.js b/Challenge/seyeongLee/024.toUpperCase/solve.js new file mode 100644 index 0000000..7721043 --- /dev/null +++ b/Challenge/seyeongLee/024.toUpperCase/solve.js @@ -0,0 +1,16 @@ +/* +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +**입출력** + +입력 : mary +출력 : MARY +*/ + +let elnglishName = prompt("이름을 영어로 입력하세요"); + +document.write(elnglishName.toUpperCase()); \ No newline at end of file diff --git a/Challenge/seyeongLee/025.circle-area/README.md b/Challenge/seyeongLee/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Challenge/seyeongLee/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Challenge/seyeongLee/025.circle-area/solve.js b/Challenge/seyeongLee/025.circle-area/solve.js new file mode 100644 index 0000000..7a556da --- /dev/null +++ b/Challenge/seyeongLee/025.circle-area/solve.js @@ -0,0 +1,14 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + +function circle(r) { + return (r ** 2) * Math.PI; +} + +let radius = prompt("원 반지름의 길이을 입력하세요"); + +document.write(`원의 넓이 = ${circle(radius)}`); diff --git a/Challenge/seyeongLee/026.planet_2/README.md b/Challenge/seyeongLee/026.planet_2/README.md new file mode 100644 index 0000000..678e82a --- /dev/null +++ b/Challenge/seyeongLee/026.planet_2/README.md @@ -0,0 +1,6 @@ +# 문제26 : 행성 문제2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git a/Challenge/seyeongLee/026.planet_2/solve.js b/Challenge/seyeongLee/026.planet_2/solve.js new file mode 100644 index 0000000..b32d3d9 --- /dev/null +++ b/Challenge/seyeongLee/026.planet_2/solve.js @@ -0,0 +1,19 @@ +// 문제26 : 행성 문제2 + +// 우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +// 이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +let planetArr = { + "수성": "Mercury", + "금성": "Venus", + "지구": "Earth", + "화성": "Mars", + "목성": "Jupiter", + "토성": "Saturn", + "천왕성": "Uranus", + "해왕성": "Neptune" +} + +let koreanName = prompt("행성의 한글 이름을 입력하세요"); + +document.write(`행성의 영어 이름 : ${planetArr[koreanName]}`); diff --git a/Challenge/seyeongLee/027.object/README.md b/Challenge/seyeongLee/027.object/README.md new file mode 100644 index 0000000..9b83945 --- /dev/null +++ b/Challenge/seyeongLee/027.object/README.md @@ -0,0 +1,14 @@ +# 문제27 : 객체 만들기 + +첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +```jsx +**입력** +Yujin Hyewon +70 100 + +**출력** +{'Yujin': 70, 'Hyewon': 100} +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/027.object/solve.js b/Challenge/seyeongLee/027.object/solve.js new file mode 100644 index 0000000..61236cc --- /dev/null +++ b/Challenge/seyeongLee/027.object/solve.js @@ -0,0 +1,26 @@ +// # 문제27 : 객체 만들기 + +// 첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +// 두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + + +// **입력** +// Yujin Hyewon +// 70 100 + +// **출력** +// {'Yujin': 70, 'Hyewon': 100} + +let studentName = prompt("학생의 이름을 입력하세요").split(" "); +let score = prompt("수학 점수를 입력하세요").split(" "); +let arr = {}; + + +for (let i=0; i`); +} \ No newline at end of file diff --git a/Challenge/seyeongLee/028.2-gram/README.md b/Challenge/seyeongLee/028.2-gram/README.md new file mode 100644 index 0000000..3a0dfe1 --- /dev/null +++ b/Challenge/seyeongLee/028.2-gram/README.md @@ -0,0 +1,23 @@ +# 문제28 : 2-gram + +**2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +```jsx +**입력** +Javascript + +**출력** +J a +a v +v a +a s +s c +c r +r i +i p +p t +``` + +입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. \ No newline at end of file diff --git a/Challenge/seyeongLee/028.2-gram/solve.js b/Challenge/seyeongLee/028.2-gram/solve.js new file mode 100644 index 0000000..9abc1c6 --- /dev/null +++ b/Challenge/seyeongLee/028.2-gram/solve.js @@ -0,0 +1,29 @@ +// # 문제28 : 2-gram + +// **2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +// 예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + + +// **입력** +// Javascript + +// **출력** +// J a +// a v +// v a +// a s +// s c +// c r +// r i +// i p +// p t + + +// 입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. + +let input = prompt("문자열을 입력하세요"); + +for (let i=0; i`); +} \ No newline at end of file diff --git "a/Challenge/seyeongLee/029.\353\214\200\353\254\270\354\236\220/README.md" "b/Challenge/seyeongLee/029.\353\214\200\353\254\270\354\236\220/README.md" new file mode 100644 index 0000000..287a235 --- /dev/null +++ "b/Challenge/seyeongLee/029.\353\214\200\353\254\270\354\236\220/README.md" @@ -0,0 +1,5 @@ +# 문제29 : 대문자만 지나가세요 + +진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git "a/Challenge/seyeongLee/029.\353\214\200\353\254\270\354\236\220/solve.js" "b/Challenge/seyeongLee/029.\353\214\200\353\254\270\354\236\220/solve.js" new file mode 100644 index 0000000..9cd25f1 --- /dev/null +++ "b/Challenge/seyeongLee/029.\353\214\200\353\254\270\354\236\220/solve.js" @@ -0,0 +1,13 @@ +// 문제29 : 대문자만 지나가세요 + +// 진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +// 알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. + +let input = prompt("알파벳 하나를 입력하세요"); + +if(input == input.toUpperCase()){ + document.write('YES'); +} else { + document.write('NO'); +} \ No newline at end of file diff --git a/Challenge/seyeongLee/030.find-string/README.md b/Challenge/seyeongLee/030.find-string/README.md new file mode 100644 index 0000000..b2f4ed6 --- /dev/null +++ b/Challenge/seyeongLee/030.find-string/README.md @@ -0,0 +1,15 @@ +# 문제30 : 문자열 속 문자 찾기 + +문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +**그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +```jsx +**입력** +pineapple is yummy +apple + +**출력** +4 +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/030.find-string/solve.js b/Challenge/seyeongLee/030.find-string/solve.js new file mode 100644 index 0000000..dcf6839 --- /dev/null +++ b/Challenge/seyeongLee/030.find-string/solve.js @@ -0,0 +1,27 @@ +// # 문제30 : 문자열 속 문자 찾기 + +// 문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +// 첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +// **그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +// ```jsx +// **입력** +// pineapple is yummy +// apple + +// **출력** +// 4 +// ``` + +let input = prompt("문자열을 입력하세요"); +let word = prompt("찾고싶은 단어를 입력하세요"); + +document.write(`입력한 문자열 : ${input}
`); +document.write(`찾고싶은 단어 : ${word}
`); + +if (input.indexOf(word) == -1) { + document.write(`문자열에 포함되지 않은 단어입니다`); +} else { + document.write(`단어의 시작위치는 인덱스 ${input.indexOf(word)}입니다`); +} \ No newline at end of file diff --git "a/Challenge/seyeongLee/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" "b/Challenge/seyeongLee/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" new file mode 100644 index 0000000..53459f4 --- /dev/null +++ "b/Challenge/seyeongLee/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" @@ -0,0 +1,13 @@ +# 문제32 : 문자열 만들기 + +취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +혜림이를 위해 **문자열을 입력받으면 단어의 갯수를 출력하는 프로그램**을 작성해 주세요. + +```jsx +**입력** +안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +**출력** +5 +``` diff --git "a/Challenge/seyeongLee/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" "b/Challenge/seyeongLee/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" new file mode 100644 index 0000000..d0f8650 --- /dev/null +++ "b/Challenge/seyeongLee/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" @@ -0,0 +1,28 @@ +// # 문제32 : 문자열 만들기 + +// 취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +// 혜림이를 위해 문자열을 입력받으면 단어의 갯수를 출력하는 프로그램을 작성해 주세요. + +// ```jsx +// **입력** +// 안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +// **출력** +// 5 +// ``` + +let input = prompt("문자열을 입력하세요"); +let wordArr = input.split(" "); +let wordNum = 0; + +document.write(`입력한 문자열 : ${input}
`); + +// 공백 or 스페이스 바 여러 번 눌렀을 때 단어 개수 증가를 막기 위한 예외 처리 +for (const i of wordArr) { + if (i !== "") { + wordNum++; + } +} + +document.write(`단어의 갯수는 ${wordNum}입니다`); \ No newline at end of file diff --git a/Challenge/seyeongLee/033.Reverse/README.md b/Challenge/seyeongLee/033.Reverse/README.md new file mode 100644 index 0000000..7d450ce --- /dev/null +++ b/Challenge/seyeongLee/033.Reverse/README.md @@ -0,0 +1,13 @@ +# 문제33 : 거꾸로 출력하기 + +한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +```jsx +**입출력** +입력 : 1 2 3 4 5 +출력 : 5 4 3 2 1 + +**출력** +입력 : 2 4 6 7 8 +출력 : 8 7 6 4 2 +``` diff --git a/Challenge/seyeongLee/033.Reverse/solve.js b/Challenge/seyeongLee/033.Reverse/solve.js new file mode 100644 index 0000000..aa5d8a2 --- /dev/null +++ b/Challenge/seyeongLee/033.Reverse/solve.js @@ -0,0 +1,23 @@ +// # 문제33 : 거꾸로 출력하기 + +// 한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +// ```jsx +// **입출력** +// 입력 : 1 2 3 4 5 +// 출력 : 5 4 3 2 1 + +// **출력** +// 입력 : 2 4 6 7 8 +// 출력 : 8 7 6 4 2 +// ``` + +let input = prompt("숫자를 여러개 입력하세요").split(" "); +let output = []; + +for (i = input.length; i > 0; i--) { + output.push(input[i - 1]); +} + +document.write(`${input.join(" ")}
`); +document.write(`${output.join(" ")}`); \ No newline at end of file diff --git a/Challenge/seyeongLee/034.sort/README.md b/Challenge/seyeongLee/034.sort/README.md new file mode 100644 index 0000000..615626c --- /dev/null +++ b/Challenge/seyeongLee/034.sort/README.md @@ -0,0 +1,16 @@ +# 문제34 : sort 구현하기 + +민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +민주를 위해 **키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램**을 작성해보자. +(키는 공백으로 구분하여 입력됩니다.) + +```jsx +**입출력** + +입력 : 176 156 155 165 166 169 +출력 : NO + +입력 : 155 156 165 166 169 176 +출력 : YES +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/034.sort/solve.js b/Challenge/seyeongLee/034.sort/solve.js new file mode 100644 index 0000000..319a216 --- /dev/null +++ b/Challenge/seyeongLee/034.sort/solve.js @@ -0,0 +1,31 @@ +/* +# 문제34 : sort 구현하기 + +민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +민주를 위해 **키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램**을 작성해보자. +(키는 공백으로 구분하여 입력됩니다.) + +```jsx +**입출력** + +입력 : 176 156 155 165 166 169 +출력 : NO + +입력 : 155 156 165 166 169 176 +출력 : YES +``` +*/ + +let input = prompt("학생들의 키를 입력하세요"); +let inputSort = input.split(" ").sort((a, b) => a - b); +let result = ''; + +if (input == inputSort.join(" ")) { + result = 'YES' +} else { + result = 'NO'; +} + +document.write(`현재 순서 : ${input}
`); +document.write(`${result}`); \ No newline at end of file diff --git a/Challenge/seyeongLee/035.function/README.md b/Challenge/seyeongLee/035.function/README.md new file mode 100644 index 0000000..5e4b62a --- /dev/null +++ b/Challenge/seyeongLee/035.function/README.md @@ -0,0 +1,22 @@ +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/035.function/solve.js b/Challenge/seyeongLee/035.function/solve.js new file mode 100644 index 0000000..9399d68 --- /dev/null +++ b/Challenge/seyeongLee/035.function/solve.js @@ -0,0 +1,39 @@ +/* +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` +*/ + +function one(n) { + function two(num) { + return num ** n; + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); \ No newline at end of file diff --git a/Challenge/seyeongLee/036.Multiplication_Table/README.md b/Challenge/seyeongLee/036.Multiplication_Table/README.md new file mode 100644 index 0000000..3691735 --- /dev/null +++ b/Challenge/seyeongLee/036.Multiplication_Table/README.md @@ -0,0 +1,10 @@ +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` \ No newline at end of file diff --git a/Challenge/seyeongLee/036.Multiplication_Table/solve.js b/Challenge/seyeongLee/036.Multiplication_Table/solve.js new file mode 100644 index 0000000..8532784 --- /dev/null +++ b/Challenge/seyeongLee/036.Multiplication_Table/solve.js @@ -0,0 +1,25 @@ +/* +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` +*/ + +let input = prompt("원하는 구구단의 단을 입력하세요"); + +function multiplicationTable(input) { + let result = ''; + + for (let i = 1; i < 10; i++) { + result += input * i + ' '; + } + return result; +} + +document.write(`${input}단 결과 : ${multiplicationTable(input)}`); \ No newline at end of file diff --git "a/Challenge/seyeongLee/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" "b/Challenge/seyeongLee/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" new file mode 100644 index 0000000..18cac02 --- /dev/null +++ "b/Challenge/seyeongLee/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" @@ -0,0 +1,11 @@ +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` \ No newline at end of file diff --git "a/Challenge/seyeongLee/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" "b/Challenge/seyeongLee/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" new file mode 100644 index 0000000..b1499de --- /dev/null +++ "b/Challenge/seyeongLee/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" @@ -0,0 +1,34 @@ +/* +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` +*/ +let input = prompt("반장이 되길 원하는 학생의 이름을 입력하세요").split(' '); +let nameArr = []; + +for (const key in input) { + const name = input[key]; + if (nameArr[name] === undefined) { + nameArr[name] = 1; + } else { + nameArr[name]++; + } +} + +const winner = Object.keys(nameArr).reduce((a, b) => { + if (nameArr[a] > nameArr[b]) { + return a; + } else { + return b; + } +}) + +document.write(`${winner}(이)가 총 ${nameArr[winner]}표로 반장이 되었습니다.`); \ No newline at end of file diff --git "a/Challenge/seyeongLee/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" "b/Challenge/seyeongLee/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" new file mode 100644 index 0000000..36a32d4 --- /dev/null +++ "b/Challenge/seyeongLee/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" @@ -0,0 +1,13 @@ +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` \ No newline at end of file diff --git "a/Challenge/seyeongLee/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" "b/Challenge/seyeongLee/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" new file mode 100644 index 0000000..a38003a --- /dev/null +++ "b/Challenge/seyeongLee/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" @@ -0,0 +1,29 @@ +/* +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` +*/ +let input = prompt("학생들의 영어 점수를 입력하세요").split(' ').sort((a, b) => b - a); +let count = 0; + +document.write(`학생들 영어 점수 : ${input}
`); + +for (let i = 0; i < input.length; i++) { + if (input[i] !== input[i + 1]) { + count++; + } + if (count == 3) { + document.write(`사탕받을 학생의 수 : ${input.indexOf(input[i]) + 1}명`); + break; + } +} diff --git "a/Challenge/seyeongLee/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" "b/Challenge/seyeongLee/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" new file mode 100644 index 0000000..3b0af06 --- /dev/null +++ "b/Challenge/seyeongLee/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" @@ -0,0 +1,18 @@ +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +``` \ No newline at end of file diff --git "a/Challenge/seyeongLee/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" "b/Challenge/seyeongLee/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" new file mode 100644 index 0000000..dbd9131 --- /dev/null +++ "b/Challenge/seyeongLee/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" @@ -0,0 +1,25 @@ +/* +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewonq +``` +*/ +let input = prompt("문자열을 입력하세요"); + +document.write(`입력 : ${input}
`); +document.write(`출력(함수 사용) : ${input.replaceAll('q', 'e')}
`); +document.write(`출력(정규식 사용)) : ${input.replace(/q/g, 'e')}`); \ No newline at end of file diff --git "a/Challenge/seyeongLee/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" "b/Challenge/seyeongLee/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" new file mode 100644 index 0000000..324d030 --- /dev/null +++ "b/Challenge/seyeongLee/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" @@ -0,0 +1,22 @@ +# 문제40 : 놀이동산에 가자 + +테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다. + +**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.** + +첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. +그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다. + +```jsx +**입력** +50 +5 +20 +20 +20 +20 +20 + +**출력** +2 +``` \ No newline at end of file diff --git "a/Challenge/seyeongLee/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" "b/Challenge/seyeongLee/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" new file mode 100644 index 0000000..8574ea9 --- /dev/null +++ "b/Challenge/seyeongLee/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" @@ -0,0 +1,44 @@ +/* +# 문제40 : 놀이동산에 가자 + +테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다. + +**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.** + +첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. +그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다. + +```jsx +**입력** +50 +5 +20 +20 +20 +20 +20 + +**출력** +2 +``` +*/ +const limitWeight = prompt("제한 무게를 입력하세요"); +const HeadCount = prompt("탑승할 인원수를 입력하세요"); +const weightArr = []; +let sum = 0; +let result = 0; + +for (let i = 0; i < HeadCount; i++) { + weightArr.push(prompt("몸무게를 입력하세요")); +} + +document.write(`제한 무게 : ${limitWeight}
`); +document.write(`탑승할 인원수 : ${HeadCount}
`); +for (const i of weightArr) { + document.write(`몸무게 : ${i}
`); + sum += +i; + if (sum < +limitWeight) { + result++; + } +} +document.write(`${result}명 탑승 가능합니다.`); \ No newline at end of file diff --git "a/Challenge/seyeongLee/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" "b/Challenge/seyeongLee/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" new file mode 100644 index 0000000..11c15e3 --- /dev/null +++ "b/Challenge/seyeongLee/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" @@ -0,0 +1,5 @@ +# 문제41 : 소수판별 + +숫자가 주어지면 **소수인지 아닌지 판별하는 프로그램**을 작성해주세요. +소수이면 YES로, 소수가 아니면 NO로 출력해주세요. +(소수 : 1과 자기 자신만으로 나누어떨어지는 1보다 큰 양의 정수) \ No newline at end of file diff --git "a/Challenge/seyeongLee/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" "b/Challenge/seyeongLee/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" new file mode 100644 index 0000000..9ddb9cf --- /dev/null +++ "b/Challenge/seyeongLee/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" @@ -0,0 +1,25 @@ +/* +# 문제41 : 소수판별 + +숫자가 주어지면 **소수인지 아닌지 판별하는 프로그램**을 작성해주세요. +소수이면 YES로, 소수가 아니면 NO로 출력해주세요. +(소수 : 1과 자기 자신만으로 나누어떨어지는 1보다 큰 양의 정수) +*/ +let input = +prompt("숫자를 입력하세요"); + +function findPrimeNumber(num) { + for (let i = 2; i <= num ** 0.5; i++) { + if (num % i === 0) { + document.write("NO"); + return; + } + } + if (input !== 1) { + document.write("YES"); + return; + } else { + document.write("NO"); + } +} + +findPrimeNumber(input); \ No newline at end of file diff --git a/Challenge/sooyoungCho/006.false/README.md b/Challenge/sooyoungCho/006.false/README.md new file mode 100644 index 0000000..66f6e1d --- /dev/null +++ b/Challenge/sooyoungCho/006.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Challenge/sooyoungCho/006.false/solve.js b/Challenge/sooyoungCho/006.false/solve.js new file mode 100644 index 0000000..dd1ce65 --- /dev/null +++ b/Challenge/sooyoungCho/006.false/solve.js @@ -0,0 +1,13 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +// 1) NaN +// 2) 1 +// 3) "" +// 4) 0 +// 5) undefined + + +// 정답 : 2번 \ No newline at end of file diff --git a/Challenge/sooyoungCho/007.variable/README.md b/Challenge/sooyoungCho/007.variable/README.md new file mode 100644 index 0000000..2002c44 --- /dev/null +++ b/Challenge/sooyoungCho/007.variable/README.md @@ -0,0 +1,9 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Challenge/sooyoungCho/007.variable/solve.js b/Challenge/sooyoungCho/007.variable/solve.js new file mode 100644 index 0000000..b01f167 --- /dev/null +++ b/Challenge/sooyoungCho/007.variable/solve.js @@ -0,0 +1,15 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age +*/ + + +// 정답 : 3번, 5번 +// let은 예약어, 숫자 X \ No newline at end of file diff --git a/Challenge/sooyoungCho/008.object/README.md b/Challenge/sooyoungCho/008.object/README.md new file mode 100644 index 0000000..0e23154 --- /dev/null +++ b/Challenge/sooyoungCho/008.object/README.md @@ -0,0 +1,16 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Challenge/sooyoungCho/008.object/solve.js b/Challenge/sooyoungCho/008.object/solve.js new file mode 100644 index 0000000..337ef09 --- /dev/null +++ b/Challenge/sooyoungCho/008.object/solve.js @@ -0,0 +1,19 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) +*/ + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); + + +// 정답 : 84 \ No newline at end of file diff --git a/Challenge/sooyoungCho/009.concat/README.md b/Challenge/sooyoungCho/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Challenge/sooyoungCho/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Challenge/sooyoungCho/009.concat/solve.js b/Challenge/sooyoungCho/009.concat/solve.js new file mode 100644 index 0000000..8ea261e --- /dev/null +++ b/Challenge/sooyoungCho/009.concat/solve.js @@ -0,0 +1,24 @@ +/* +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. +*/ + +// 데이터 +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +//빈칸을 채워주세요 +var result = + +console.log(result); + +// 출력 +// 2019/04/26 11:34:27 + + +// 정답 : year.concat('/', month, '/', day, ' ', hour, ':', minute, ':', second); \ No newline at end of file diff --git a/Challenge/sooyoungCho/011.for/README.md b/Challenge/sooyoungCho/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Challenge/sooyoungCho/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Challenge/sooyoungCho/011.for/solve.js b/Challenge/sooyoungCho/011.for/solve.js new file mode 100644 index 0000000..572910c --- /dev/null +++ b/Challenge/sooyoungCho/011.for/solve.js @@ -0,0 +1,14 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. +*/ + +let s = 0; + +//pass +for(i = 1; i <= 100; i++){ + s += i; +} + +console.log(s); diff --git a/Challenge/sooyoungCho/013.find-planet/README.md b/Challenge/sooyoungCho/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Challenge/sooyoungCho/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Challenge/sooyoungCho/013.find-planet/solve.js b/Challenge/sooyoungCho/013.find-planet/solve.js new file mode 100644 index 0000000..b730889 --- /dev/null +++ b/Challenge/sooyoungCho/013.find-planet/solve.js @@ -0,0 +1,21 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ + +const planet = ['수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성']; + +const n = prompt('몇 번째 행성인가요?'); + +console.log(planet[n-1]); \ No newline at end of file diff --git a/Challenge/sooyoungCho/014.if/README.md b/Challenge/sooyoungCho/014.if/README.md new file mode 100644 index 0000000..488df61 --- /dev/null +++ b/Challenge/sooyoungCho/014.if/README.md @@ -0,0 +1,17 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +```jsx +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +``` \ No newline at end of file diff --git a/Challenge/sooyoungCho/014.if/solve.js b/Challenge/sooyoungCho/014.if/solve.js new file mode 100644 index 0000000..68cce6d --- /dev/null +++ b/Challenge/sooyoungCho/014.if/solve.js @@ -0,0 +1,25 @@ +/* +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +*/ + +const n = prompt('숫자를 입력하시오!'); + +if(n % 3 == 0){ + console.log('짝'); +} else { + console.log(n); +} \ No newline at end of file diff --git a/Challenge/sooyoungCho/015.template _literals/README.md b/Challenge/sooyoungCho/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Challenge/sooyoungCho/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Challenge/sooyoungCho/015.template _literals/solve.js b/Challenge/sooyoungCho/015.template _literals/solve.js new file mode 100644 index 0000000..fbe0aa0 --- /dev/null +++ b/Challenge/sooyoungCho/015.template _literals/solve.js @@ -0,0 +1,17 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +*/ + +const name = prompt('이름을 입력하시오!'); + +console.log(`안녕하세요. 저는 ${name}입니다.`); \ No newline at end of file diff --git "a/Challenge/sooyoungCho/016.\353\241\234\352\276\270\352\272\274/README.md" "b/Challenge/sooyoungCho/016.\353\241\234\352\276\270\352\272\274/README.md" new file mode 100644 index 0000000..6528a39 --- /dev/null +++ "b/Challenge/sooyoungCho/016.\353\241\234\352\276\270\352\272\274/README.md" @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git "a/Challenge/sooyoungCho/016.\353\241\234\352\276\270\352\272\274/solve.js" "b/Challenge/sooyoungCho/016.\353\241\234\352\276\270\352\272\274/solve.js" new file mode 100644 index 0000000..2924bd8 --- /dev/null +++ "b/Challenge/sooyoungCho/016.\353\241\234\352\276\270\352\272\274/solve.js" @@ -0,0 +1,18 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +*/ + +let txt = prompt('단어를 입력하세요'); +let reverse = ''; +for(i = 0; i < txt.length; i++){ + reverse = txt[i] + reverse +} + +// 메서드 체이닝 +console.log(txt.split('').reverse().join('')); \ No newline at end of file diff --git a/Challenge/sooyoungCho/017.limit/README.md b/Challenge/sooyoungCho/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Challenge/sooyoungCho/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Challenge/sooyoungCho/017.limit/solve.js b/Challenge/sooyoungCho/017.limit/solve.js new file mode 100644 index 0000000..dd17f34 --- /dev/null +++ b/Challenge/sooyoungCho/017.limit/solve.js @@ -0,0 +1,16 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. +*/ + +const height = prompt("키를 입력하세요"); +if (height >= 150){ + console.log("YES"); +} else { + console.log("NO"); +} \ No newline at end of file diff --git a/Challenge/sooyoungCho/018.average/README.md b/Challenge/sooyoungCho/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Challenge/sooyoungCho/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Challenge/sooyoungCho/018.average/solve.js b/Challenge/sooyoungCho/018.average/solve.js new file mode 100644 index 0000000..ae52130 --- /dev/null +++ b/Challenge/sooyoungCho/018.average/solve.js @@ -0,0 +1,24 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 + +*/ + +function score(){ + const num = prompt('세 과목의 점수를 입력하세요').trim().split(' '); + let sum = 0; + for(let i of num){ + sum += parseInt(i, 10); + } + console.log(Math.floor(sum / num.length)); +} +score(); \ No newline at end of file diff --git a/Challenge/sooyoungCho/019.square/README.md b/Challenge/sooyoungCho/019.square/README.md new file mode 100644 index 0000000..e02a30a --- /dev/null +++ b/Challenge/sooyoungCho/019.square/README.md @@ -0,0 +1,3 @@ +문제19 : 제곱을 구하자 + +공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. \ No newline at end of file diff --git a/Challenge/sooyoungCho/019.square/solve.js b/Challenge/sooyoungCho/019.square/solve.js new file mode 100644 index 0000000..d118e4f --- /dev/null +++ b/Challenge/sooyoungCho/019.square/solve.js @@ -0,0 +1,10 @@ +// 문제19 : 제곱을 구하자 + +// 공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. + +const num = prompt('두 숫자를 입력하세요').trim().split(' '); +let num1 = Number(num[0]); +let num2 = Number(num[1]); + +let multiply = num1 * num2; +console.log(multiply); diff --git a/Challenge/sooyoungCho/020.share-remainder/README.md b/Challenge/sooyoungCho/020.share-remainder/README.md new file mode 100644 index 0000000..91c7d9c --- /dev/null +++ b/Challenge/sooyoungCho/020.share-remainder/README.md @@ -0,0 +1,11 @@ +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` \ No newline at end of file diff --git a/Challenge/sooyoungCho/020.share-remainder/solve.js b/Challenge/sooyoungCho/020.share-remainder/solve.js new file mode 100644 index 0000000..73a8bfe --- /dev/null +++ b/Challenge/sooyoungCho/020.share-remainder/solve.js @@ -0,0 +1,18 @@ +/* +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +**입출력** + +입력 : 10 2 +출력 : 5 0 + +*/ + +const num = prompt('두 숫자를 입력하세요').split(' '); +const result = parseInt(num[0] / num[1]); +const remainder = parseInt(num[0] % num[1]); + +console.log(result, remainder); \ No newline at end of file diff --git a/Challenge/sooyoungCho/021.set/README.md b/Challenge/sooyoungCho/021.set/README.md new file mode 100644 index 0000000..255a239 --- /dev/null +++ b/Challenge/sooyoungCho/021.set/README.md @@ -0,0 +1,9 @@ +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); \ No newline at end of file diff --git a/Challenge/sooyoungCho/021.set/solve.js b/Challenge/sooyoungCho/021.set/solve.js new file mode 100644 index 0000000..3051921 --- /dev/null +++ b/Challenge/sooyoungCho/021.set/solve.js @@ -0,0 +1,13 @@ +/* +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); +*/ + +// 정답 : 3, 5 \ No newline at end of file diff --git a/Challenge/sooyoungCho/022.multiple/README.md b/Challenge/sooyoungCho/022.multiple/README.md new file mode 100644 index 0000000..b4d74cc --- /dev/null +++ b/Challenge/sooyoungCho/022.multiple/README.md @@ -0,0 +1,9 @@ +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 \ No newline at end of file diff --git a/Challenge/sooyoungCho/022.multiple/solve.js b/Challenge/sooyoungCho/022.multiple/solve.js new file mode 100644 index 0000000..c6d9f09 --- /dev/null +++ b/Challenge/sooyoungCho/022.multiple/solve.js @@ -0,0 +1,13 @@ +/* +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 +*/ + +// 정답 : 2 \ No newline at end of file diff --git a/Challenge/sooyoungCho/023.OX/README.md b/Challenge/sooyoungCho/023.OX/README.md new file mode 100644 index 0000000..47e0046 --- /dev/null +++ b/Challenge/sooyoungCho/023.OX/README.md @@ -0,0 +1,3 @@ +# 문제23 : OX문제 + +`console.log(10/3)`의 출력 결과는 **3**이다. \ No newline at end of file diff --git a/Challenge/sooyoungCho/023.OX/solve.js b/Challenge/sooyoungCho/023.OX/solve.js new file mode 100644 index 0000000..77e74fa --- /dev/null +++ b/Challenge/sooyoungCho/023.OX/solve.js @@ -0,0 +1,6 @@ +// # 문제23: OX문제 + +// `console.log(10/3)`의 출력 결과는 ** 3 ** 이다. + +// 정답 : X +// 3.3333333333333335 출력 \ No newline at end of file diff --git a/Challenge/sooyoungCho/024.toUpperCase/README.md b/Challenge/sooyoungCho/024.toUpperCase/README.md new file mode 100644 index 0000000..a5e5142 --- /dev/null +++ b/Challenge/sooyoungCho/024.toUpperCase/README.md @@ -0,0 +1,12 @@ +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +```jsx +**입출력** + +입력 : mary +출력 : MARY +``` \ No newline at end of file diff --git a/Challenge/sooyoungCho/024.toUpperCase/solve.js b/Challenge/sooyoungCho/024.toUpperCase/solve.js new file mode 100644 index 0000000..8b51a47 --- /dev/null +++ b/Challenge/sooyoungCho/024.toUpperCase/solve.js @@ -0,0 +1,15 @@ +/* +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +**입출력** + +입력 : mary +출력 : MARY +*/ + +const name = prompt('이름을 입력하세요'); +console.log(name.toUpperCase()); \ No newline at end of file diff --git a/Challenge/sooyoungCho/025.circle-area/README.md b/Challenge/sooyoungCho/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Challenge/sooyoungCho/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Challenge/sooyoungCho/025.circle-area/solve.js b/Challenge/sooyoungCho/025.circle-area/solve.js new file mode 100644 index 0000000..c76a442 --- /dev/null +++ b/Challenge/sooyoungCho/025.circle-area/solve.js @@ -0,0 +1,13 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + +const n = prompt('반지름을 입력하세요'); +function area(){ + let result = n * n * 3.14; + return result; +} +area(); \ No newline at end of file diff --git a/Challenge/sooyoungCho/026.planet_2/README.md b/Challenge/sooyoungCho/026.planet_2/README.md new file mode 100644 index 0000000..678e82a --- /dev/null +++ b/Challenge/sooyoungCho/026.planet_2/README.md @@ -0,0 +1,6 @@ +# 문제26 : 행성 문제2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git a/Challenge/sooyoungCho/026.planet_2/solve.js b/Challenge/sooyoungCho/026.planet_2/solve.js new file mode 100644 index 0000000..45c68da --- /dev/null +++ b/Challenge/sooyoungCho/026.planet_2/solve.js @@ -0,0 +1,20 @@ +// 문제26 : 행성 문제2 + +// 우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +// 이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +// 행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. + +const planetName = prompt('행성의 이름을 입력하세요'); +const planet = { + '수성' : 'Mercury', + '금성' : 'Venus', + '지구' : 'Earth', + '화성' : 'Mars', + '목성' : 'Jupiter', + '토성' : 'Saturn', + '천왕성' : 'Uranus', + '해왕성' : 'Neptune', +}; + +console.log(planet[planetName]); \ No newline at end of file diff --git a/Challenge/sooyoungCho/027.object/README.md b/Challenge/sooyoungCho/027.object/README.md new file mode 100644 index 0000000..9b83945 --- /dev/null +++ b/Challenge/sooyoungCho/027.object/README.md @@ -0,0 +1,14 @@ +# 문제27 : 객체 만들기 + +첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +```jsx +**입력** +Yujin Hyewon +70 100 + +**출력** +{'Yujin': 70, 'Hyewon': 100} +``` \ No newline at end of file diff --git a/Challenge/sooyoungCho/027.object/solve.js b/Challenge/sooyoungCho/027.object/solve.js new file mode 100644 index 0000000..6194b51 --- /dev/null +++ b/Challenge/sooyoungCho/027.object/solve.js @@ -0,0 +1,24 @@ +// # 문제27 : 객체 만들기 + +// 첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +// 두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + + +// **입력** +// Yujin Hyewon +// 70 100 + +// **출력** +// {'Yujin': 70, 'Hyewon': 100} + + +const name = prompt('이름을 입력하세요').split(' '); +const score = prompt('점수를 입력하세요').split(' '); +const obj = {}; + +for (let i = 0; i < name.length; i++) { + obj[name[i]] = parseInt(score[i]); +} + +console.log(obj); \ No newline at end of file diff --git a/Challenge/sooyoungCho/028.2-gram/README.md b/Challenge/sooyoungCho/028.2-gram/README.md new file mode 100644 index 0000000..3a0dfe1 --- /dev/null +++ b/Challenge/sooyoungCho/028.2-gram/README.md @@ -0,0 +1,23 @@ +# 문제28 : 2-gram + +**2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +```jsx +**입력** +Javascript + +**출력** +J a +a v +v a +a s +s c +c r +r i +i p +p t +``` + +입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. \ No newline at end of file diff --git a/Challenge/sooyoungCho/028.2-gram/solve.js b/Challenge/sooyoungCho/028.2-gram/solve.js new file mode 100644 index 0000000..3b74770 --- /dev/null +++ b/Challenge/sooyoungCho/028.2-gram/solve.js @@ -0,0 +1,29 @@ +// # 문제28 : 2-gram + +// **2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +// 예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + + +// **입력** +// Javascript + +// **출력** +// J a +// a v +// v a +// a s +// s c +// c r +// r i +// i p +// p t + + +// 입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. + +const text = prompt('문자를 입력하세요'); + +for(i = 0; i < text.length - 1; i++){ + console.log(text[i], text[i + 1]); +} \ No newline at end of file diff --git "a/Challenge/sooyoungCho/029.\353\214\200\353\254\270\354\236\220/README.md" "b/Challenge/sooyoungCho/029.\353\214\200\353\254\270\354\236\220/README.md" new file mode 100644 index 0000000..287a235 --- /dev/null +++ "b/Challenge/sooyoungCho/029.\353\214\200\353\254\270\354\236\220/README.md" @@ -0,0 +1,5 @@ +# 문제29 : 대문자만 지나가세요 + +진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git "a/Challenge/sooyoungCho/029.\353\214\200\353\254\270\354\236\220/solve.js" "b/Challenge/sooyoungCho/029.\353\214\200\353\254\270\354\236\220/solve.js" new file mode 100644 index 0000000..28723ba --- /dev/null +++ "b/Challenge/sooyoungCho/029.\353\214\200\353\254\270\354\236\220/solve.js" @@ -0,0 +1,13 @@ +// 문제29 : 대문자만 지나가세요 + +// 진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +// 알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. + +const alpha = prompt('알파벳 하나를 입력하세요'); + +if(alpha == alpha.toUpperCase()){ + console.log('YES'); +} else { + console.log('NO'); +} \ No newline at end of file diff --git a/Challenge/sooyoungCho/030.find-string/README.md b/Challenge/sooyoungCho/030.find-string/README.md new file mode 100644 index 0000000..b2f4ed6 --- /dev/null +++ b/Challenge/sooyoungCho/030.find-string/README.md @@ -0,0 +1,15 @@ +# 문제30 : 문자열 속 문자 찾기 + +문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +**그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +```jsx +**입력** +pineapple is yummy +apple + +**출력** +4 +``` \ No newline at end of file diff --git a/Challenge/sooyoungCho/030.find-string/solve.js b/Challenge/sooyoungCho/030.find-string/solve.js new file mode 100644 index 0000000..a894354 --- /dev/null +++ b/Challenge/sooyoungCho/030.find-string/solve.js @@ -0,0 +1,20 @@ +// # 문제30 : 문자열 속 문자 찾기 + +// 문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +// 첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +// **그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +// ```jsx +// **입력** +// pineapple is yummy +// apple + +// **출력** +// 4 +// ``` + +const str = prompt('문자열을 입력하세요'); +const findStr = prompt('찾을 문자를 입력하세요'); + +console.log(str.indexOf(findStr)); \ No newline at end of file diff --git a/Challenge/sooyoungCho/031.timeComplexity/README.md b/Challenge/sooyoungCho/031.timeComplexity/README.md new file mode 100644 index 0000000..c10ae55 --- /dev/null +++ b/Challenge/sooyoungCho/031.timeComplexity/README.md @@ -0,0 +1,9 @@ +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() +4) arr.pop() +5) arr.includes(5) \ No newline at end of file diff --git a/Challenge/sooyoungCho/031.timeComplexity/solve.js b/Challenge/sooyoungCho/031.timeComplexity/solve.js new file mode 100644 index 0000000..7e88aad --- /dev/null +++ b/Challenge/sooyoungCho/031.timeComplexity/solve.js @@ -0,0 +1,14 @@ +/* +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. +*/ +// arr[i] +// arr.push(5) +arr.slice() +// arr.pop() +arr.includes(5) + +// 시간 복잡도 : 알고리즘을 처리하는 데 얼마의 시간이 걸리는지? +// Big-O 표기법 +// O(1) : 입력되는 데이터의 크기와 상관없이 알고리즘이 문제를 해결하는 속도가 모두 일정할 때 표기 \ No newline at end of file diff --git "a/Challenge/sooyoungCho/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" "b/Challenge/sooyoungCho/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" new file mode 100644 index 0000000..53459f4 --- /dev/null +++ "b/Challenge/sooyoungCho/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" @@ -0,0 +1,13 @@ +# 문제32 : 문자열 만들기 + +취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +혜림이를 위해 **문자열을 입력받으면 단어의 갯수를 출력하는 프로그램**을 작성해 주세요. + +```jsx +**입력** +안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +**출력** +5 +``` diff --git "a/Challenge/sooyoungCho/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" "b/Challenge/sooyoungCho/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" new file mode 100644 index 0000000..82406f9 --- /dev/null +++ "b/Challenge/sooyoungCho/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" @@ -0,0 +1,16 @@ +// # 문제32 : 문자열 만들기 + +// 취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +// 혜림이를 위해 문자열을 입력받으면 단어의 갯수를 출력하는 프로그램을 작성해 주세요. + +// ```jsx +// **입력** +// 안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +// **출력** +// 5 +// ``` + +const text = prompt('문자열을 입력하세요').split(' '); +console.log(text.length); \ No newline at end of file diff --git a/Challenge/sooyoungCho/033.Reverse/README.md b/Challenge/sooyoungCho/033.Reverse/README.md new file mode 100644 index 0000000..7d450ce --- /dev/null +++ b/Challenge/sooyoungCho/033.Reverse/README.md @@ -0,0 +1,13 @@ +# 문제33 : 거꾸로 출력하기 + +한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +```jsx +**입출력** +입력 : 1 2 3 4 5 +출력 : 5 4 3 2 1 + +**출력** +입력 : 2 4 6 7 8 +출력 : 8 7 6 4 2 +``` diff --git a/Challenge/sooyoungCho/033.Reverse/solve.js b/Challenge/sooyoungCho/033.Reverse/solve.js new file mode 100644 index 0000000..8b3210a --- /dev/null +++ b/Challenge/sooyoungCho/033.Reverse/solve.js @@ -0,0 +1,20 @@ +// # 문제33 : 거꾸로 출력하기 + +// 한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +// ```jsx +// **입출력** +// 입력 : 1 2 3 4 5 +// 출력 : 5 4 3 2 1 + +// **출력** +// 입력 : 2 4 6 7 8 +// 출력 : 8 7 6 4 2 +// ``` + +const n = prompt('여러개의 숫자를 입력하세요').split(' '); +let reverse = ''; +for(i = 0; i < n.length; i++){ + reverse = n[i] + ' ' + reverse; +} +console.log(reverse); \ No newline at end of file diff --git a/Challenge/sooyoungCho/1.arry/README.md b/Challenge/sooyoungCho/1.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Challenge/sooyoungCho/1.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/sooyoungCho/1.arry/solve.js b/Challenge/sooyoungCho/1.arry/solve.js new file mode 100644 index 0000000..7ffd8bd --- /dev/null +++ b/Challenge/sooyoungCho/1.arry/solve.js @@ -0,0 +1,4 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Challenge/sooyoungCho/2.arryMethd/README.md b/Challenge/sooyoungCho/2.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Challenge/sooyoungCho/2.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/sooyoungCho/2.arryMethd/solve.js b/Challenge/sooyoungCho/2.arryMethd/solve.js new file mode 100644 index 0000000..2ce6440 --- /dev/null +++ b/Challenge/sooyoungCho/2.arryMethd/solve.js @@ -0,0 +1,14 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; + +arr.splice(2, 0, 10000); +// splice(start, deleteCount, item) + +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Challenge/sooyoungCho/3.type/README.md b/Challenge/sooyoungCho/3.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Challenge/sooyoungCho/3.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Challenge/sooyoungCho/3.type/solve.js b/Challenge/sooyoungCho/3.type/solve.js new file mode 100644 index 0000000..fa5635b --- /dev/null +++ b/Challenge/sooyoungCho/3.type/solve.js @@ -0,0 +1,13 @@ +// # 문제3 : 변수의 타입 + +// 다음 출력 값으로 올바른 것은? + +var arr = [100, 200, 300]; +console.log(typeof(arr)); + +// 1) undefined +// 2) string +// 3) number +// 4) object + +// 정답 4번! \ No newline at end of file diff --git a/Challenge/sooyoungCho/4.type(2)/README.md b/Challenge/sooyoungCho/4.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Challenge/sooyoungCho/4.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Challenge/sooyoungCho/4.type(2)/solve.js b/Challenge/sooyoungCho/4.type(2)/solve.js new file mode 100644 index 0000000..9cc8189 --- /dev/null +++ b/Challenge/sooyoungCho/4.type(2)/solve.js @@ -0,0 +1,10 @@ +// # 문제4 : 변수의 타입2 + +// 다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +// 1) 입력 : a =1, 출력 : number +// 2) 입력 : a = 2.22, 출력 : boolean +// 3) 입력 : a = 'p', 출력 : string +// 4) 입력 : a = [1, 2, 3], 출력 : object + +// 정답 2번! number 출력 \ No newline at end of file diff --git a/Challenge/sooyoungCho/5.for/README.md b/Challenge/sooyoungCho/5.for/README.md new file mode 100644 index 0000000..6ae955d --- /dev/null +++ b/Challenge/sooyoungCho/5.for/README.md @@ -0,0 +1,19 @@ +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for (var i = 1; i < 5; i += 2) { + a += i; +} + +console.log(a + b); +``` + +1. 10 +2. 12 +3. 14 +4. 16 diff --git a/Challenge/sooyoungCho/5.for/solve.js b/Challenge/sooyoungCho/5.for/solve.js new file mode 100644 index 0000000..54bcd27 --- /dev/null +++ b/Challenge/sooyoungCho/5.for/solve.js @@ -0,0 +1,23 @@ + +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); + + +// 1) 10 +// 2) 12 +// 3) 14 +// 4) 16 + + +// 정답 : 4번 +// for문을 2번 순환한다. i=1 -> a=11, i=3 -> a=14 \ No newline at end of file diff --git a/Problems/001.arry/README.md b/Problems/001.arry/README.md new file mode 100644 index 0000000..d5088f4 --- /dev/null +++ b/Problems/001.arry/README.md @@ -0,0 +1,5 @@ +# 문제1 : 배열의 삭제 + +다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; \ No newline at end of file diff --git a/Problems/001.arry/solve.js b/Problems/001.arry/solve.js new file mode 100644 index 0000000..7f6311f --- /dev/null +++ b/Problems/001.arry/solve.js @@ -0,0 +1,5 @@ +// # 문제1 : 배열의 삭제 +// 다음 배열에서 400, 500를 삭제하는 code를 입력하세요. + +var nums = [100, 200, 300, 400, 500]; + diff --git a/Problems/002.arryMethd/README.md b/Problems/002.arryMethd/README.md new file mode 100644 index 0000000..01d8d19 --- /dev/null +++ b/Problems/002.arryMethd/README.md @@ -0,0 +1,11 @@ +# 문제2 : 배열의 내장함수 + +부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Problems/002.arryMethd/solve.js b/Problems/002.arryMethd/solve.js new file mode 100644 index 0000000..4095544 --- /dev/null +++ b/Problems/002.arryMethd/solve.js @@ -0,0 +1,11 @@ +// # 문제2 : 배열의 내장함수 + +// 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요. + +데이터 +var arr = [200, 100, 300]; +//pass +console.log(arr); + +출력 +[200, 100, 10000, 300] \ No newline at end of file diff --git a/Problems/003.type/README.md b/Problems/003.type/README.md new file mode 100644 index 0000000..79ab0fb --- /dev/null +++ b/Problems/003.type/README.md @@ -0,0 +1,13 @@ +# 문제3 : 변수의 타입 + +다음 출력 값으로 올바른 것은? + +```jsx +var arr = [100, 200, 300]; +console.log(typeof(arr)); +``` + +1) undefined +2) string +3) number +4) object \ No newline at end of file diff --git a/Problems/3.type/solve.js b/Problems/003.type/solve.js similarity index 100% rename from Problems/3.type/solve.js rename to Problems/003.type/solve.js diff --git a/Problems/004.type(2)/README.md b/Problems/004.type(2)/README.md new file mode 100644 index 0000000..46ff4b1 --- /dev/null +++ b/Problems/004.type(2)/README.md @@ -0,0 +1,8 @@ +# 문제4 : 변수의 타입2 + +다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은? + +1. 입력 : a =1, 출력 : number +2. 입력 : a = 2.22, 출력 : boolean +3. 입력 : a = 'p', 출력 : string +4. 입력 : a = [1, 2, 3], 출력 : object diff --git a/Problems/4.type(2)/solve.js b/Problems/004.type(2)/solve.js similarity index 100% rename from Problems/4.type(2)/solve.js rename to Problems/004.type(2)/solve.js diff --git a/Problems/005.for/README.md b/Problems/005.for/README.md new file mode 100644 index 0000000..e704b38 --- /dev/null +++ b/Problems/005.for/README.md @@ -0,0 +1,20 @@ + +# 문제 5 for문 계산 + +다음 코드의 출력 값으로 알맞은 것은? + +```jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); +``` + +1) 10 +2) 12 +3) 14 +4) 16 \ No newline at end of file diff --git a/Problems/005.for/solve.js b/Problems/005.for/solve.js new file mode 100644 index 0000000..4ba2483 --- /dev/null +++ b/Problems/005.for/solve.js @@ -0,0 +1,20 @@ + +// # 문제 5 for문 계산 + +// 다음 코드의 출력 값으로 알맞은 것은? + +jsx +var a = 10; +var b = 2; + +for(var i=1; i<5; i+=2){ + a += i; +} + +console.log(a+b); + + +// 1) 10 +// 2) 12 +// 3) 14 +// 4) 16 diff --git a/Problems/006.false/README.md b/Problems/006.false/README.md new file mode 100644 index 0000000..66f6e1d --- /dev/null +++ b/Problems/006.false/README.md @@ -0,0 +1,10 @@ +# 문제6 : False + +다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +1) NaN +2) 1 +3) "" +4) 0 +5) undefined \ No newline at end of file diff --git a/Problems/006.false/solve.js b/Problems/006.false/solve.js new file mode 100644 index 0000000..497a552 --- /dev/null +++ b/Problems/006.false/solve.js @@ -0,0 +1,10 @@ +//# 문제6 : False + +// 다음은 자바스크립트 문법 중에서 False로 취급하는 것들 입니다. +// 앗, False로 취급하지 않는 것이 하나 있네요! True를 찾아주세요. + +// 1) NaN +// 2) 1 +// 3) "" +// 4) 0 +// 5) undefined \ No newline at end of file diff --git a/Problems/007.variable/README.md b/Problems/007.variable/README.md new file mode 100644 index 0000000..2002c44 --- /dev/null +++ b/Problems/007.variable/README.md @@ -0,0 +1,9 @@ +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age \ No newline at end of file diff --git a/Problems/007.variable/solve.js b/Problems/007.variable/solve.js new file mode 100644 index 0000000..7f419f0 --- /dev/null +++ b/Problems/007.variable/solve.js @@ -0,0 +1,11 @@ +/* +# 문제7 : 변수명 + +다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오. + +1) age +2) Age +3) let +4) _age +5) 1age +*/ \ No newline at end of file diff --git a/Problems/008.object/README.md b/Problems/008.object/README.md new file mode 100644 index 0000000..0e23154 --- /dev/null +++ b/Problems/008.object/README.md @@ -0,0 +1,16 @@ +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +```jsx +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +``` \ No newline at end of file diff --git a/Problems/008.object/solve.js b/Problems/008.object/solve.js new file mode 100644 index 0000000..50aada1 --- /dev/null +++ b/Problems/008.object/solve.js @@ -0,0 +1,16 @@ +/* +# 문제8 : 객체의 키 이름 중복 + +자바스크립트 객체를 다음과 같이 만들었다. +출력값을 입력하시오. (출력값은 공백을 넣지 않습니다. ) + +var d = { + 'height':180, + 'weight':78, + 'weight':84, + 'temperature':36, + 'eyesight':1 +}; + +console.log(d['weight']); +*/ \ No newline at end of file diff --git a/Problems/009.concat/README.md b/Problems/009.concat/README.md new file mode 100644 index 0000000..6087ee5 --- /dev/null +++ b/Problems/009.concat/README.md @@ -0,0 +1,20 @@ +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +```jsx +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +``` \ No newline at end of file diff --git a/Problems/009.concat/solve.js b/Problems/009.concat/solve.js new file mode 100644 index 0000000..da0c2d3 --- /dev/null +++ b/Problems/009.concat/solve.js @@ -0,0 +1,20 @@ +/* +# 문제9 : concat을 활용한 출력 방법 + +다음 소스 코드를 완성하여 날짜와 시간을 출력하시오. + +**데이터** +var year = '2019'; +var month = '04'; +var day = '26'; +var hour = '11'; +var minute = '34'; +var second = '27'; + +var result = //빈칸을 채워주세요 + +console.log(result); + +**출력** +2019/04/26 11:34:27 +*/ \ No newline at end of file diff --git a/Problems/010.star/README.md b/Problems/010.star/README.md new file mode 100644 index 0000000..9b05132 --- /dev/null +++ b/Problems/010.star/README.md @@ -0,0 +1,18 @@ +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +```jsx +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +``` \ No newline at end of file diff --git a/Problems/010.star/solve.js b/Problems/010.star/solve.js new file mode 100644 index 0000000..0ef4de0 --- /dev/null +++ b/Problems/010.star/solve.js @@ -0,0 +1,18 @@ +/* +# 문제10 : 별 찍기 + +크리스마스 날, 은비는 친구들과 함께 파티를 하기로 했습니다. 그런데, 크리스마스 트리를 사는 것을 깜빡하고 말았습니다. 온 가게를 돌아다녀 봤지만 크리스마스 트리는 모두 품절이었습니다. +하는 수 없이 은비는 프로그래밍으로 트리를 만들기로 합니다. + +**은비를 위해 프로그램을 작성해 주세요.** + +**입력** +5 + +**출력** + * + *** + ***** + ******* +********* +*/ \ No newline at end of file diff --git a/Problems/011.for/README.md b/Problems/011.for/README.md new file mode 100644 index 0000000..a67da6e --- /dev/null +++ b/Problems/011.for/README.md @@ -0,0 +1,11 @@ +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +```jsx +let s = 0; + +//pass + +console.log(s); +``` \ No newline at end of file diff --git a/Problems/011.for/solve.js b/Problems/011.for/solve.js new file mode 100644 index 0000000..b4d4559 --- /dev/null +++ b/Problems/011.for/solve.js @@ -0,0 +1,11 @@ +/* +# 문제11 : for를 이용한 기본 활용 + +1부터 100까지 모두 더하는 Code를 부분에 완성하세요. `for`를 사용해야 합니다. + +let s = 0; + +//pass + +console.log(s); +*/ diff --git a/Problems/012.class/README.md b/Problems/012.class/README.md new file mode 100644 index 0000000..d3040ce --- /dev/null +++ b/Problems/012.class/README.md @@ -0,0 +1,17 @@ +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +```jsx +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +``` \ No newline at end of file diff --git a/Problems/012.class/solve.js b/Problems/012.class/solve.js new file mode 100644 index 0000000..eb9bab6 --- /dev/null +++ b/Problems/012.class/solve.js @@ -0,0 +1,17 @@ +/* +# 문제12 : 게임 캐릭터 클래스 만들기 + +다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출력되게 만드시오. +**주어진 소스 코드를 수정해선 안됩니다.** + +**데이터** +<여기에 class를 작성하세요.> + +const x = new Wizard(545, 210, 10); +console.log(x.health, x.mana, x.armor); +x.attack(); + +**출력** +545 210 10 +파이어볼 +*/ diff --git a/Problems/013.find-planet/README.md b/Problems/013.find-planet/README.md new file mode 100644 index 0000000..8afacd3 --- /dev/null +++ b/Problems/013.find-planet/README.md @@ -0,0 +1,15 @@ +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +```jsx +**입출력** + +입력 : 1 +출력 : 수성 +``` \ No newline at end of file diff --git a/Problems/013.find-planet/solve.js b/Problems/013.find-planet/solve.js new file mode 100644 index 0000000..9394f23 --- /dev/null +++ b/Problems/013.find-planet/solve.js @@ -0,0 +1,15 @@ +/* +# 문제13 : 몇 번째 행성인가요? + +우리 태양계를 이루고 있는 행성은 **수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성**으로 총 8개 입니다. 저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다. + +입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. +출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요. + +예를들어 1이 입력되면, 첫번째 행성인 수성이 출력됩니다. + +**입출력** + +입력 : 1 +출력 : 수성 +*/ diff --git a/Problems/014.if/README.md b/Problems/014.if/README.md new file mode 100644 index 0000000..488df61 --- /dev/null +++ b/Problems/014.if/README.md @@ -0,0 +1,17 @@ +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +```jsx +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +``` \ No newline at end of file diff --git a/Problems/014.if/solve.js b/Problems/014.if/solve.js new file mode 100644 index 0000000..6188404 --- /dev/null +++ b/Problems/014.if/solve.js @@ -0,0 +1,17 @@ +/* +# 문제14 : 3의 배수 인가요? + +영희는 친구와 게임을 하고 있습니다. 서로 돌아가며 랜덤으로 숫자를 하나 말하고 그게 3의 배수이면 박수를 치고 아니면 그 숫자를 그대로 말하는 게임입니다. + +입력으로 랜덤한 숫자 n이 주어집니다. + +만약 그 수가 **3의 배수라면 '짝'이라는 글자를, 3의 배수가 아니라면 n을 그대로 출력**해 주세요. + +**입출력** + +입력 : 3 +출력 : 짝 + +입력 : 2 +출력 : 2 +*/ \ No newline at end of file diff --git a/Problems/015.template _literals/README.md b/Problems/015.template _literals/README.md new file mode 100644 index 0000000..2056ef3 --- /dev/null +++ b/Problems/015.template _literals/README.md @@ -0,0 +1,13 @@ +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +```jsx +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +``` \ No newline at end of file diff --git a/Problems/015.template _literals/solve.js b/Problems/015.template _literals/solve.js new file mode 100644 index 0000000..5c05ceb --- /dev/null +++ b/Problems/015.template _literals/solve.js @@ -0,0 +1,13 @@ +/* +# 문제15 : 자기소개 + +신학기가 시작되고, 아이들이 돌아가면서 자기소개를 하기로 했습니다. + +만약 입력으로 `김다정`이라는 이름이 주어지면 "안녕하세요. 저는 김다정입니다."라고 출력하게 +해주세요. + +**입출력** + +입력 : 김다정 +출력 : 안녕하세요. 저는 김다정입니다. +*/ \ No newline at end of file diff --git "a/Problems/016.\353\241\234\352\276\270\352\272\274/README.md" "b/Problems/016.\353\241\234\352\276\270\352\272\274/README.md" new file mode 100644 index 0000000..6528a39 --- /dev/null +++ "b/Problems/016.\353\241\234\352\276\270\352\272\274/README.md" @@ -0,0 +1,10 @@ +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +```jsx +**입출력** + +입력 : 거꾸로 +출력 : 로꾸거 +``` diff --git "a/Problems/016.\353\241\234\352\276\270\352\272\274/solve.js" "b/Problems/016.\353\241\234\352\276\270\352\272\274/solve.js" new file mode 100644 index 0000000..0859045 --- /dev/null +++ "b/Problems/016.\353\241\234\352\276\270\352\272\274/solve.js" @@ -0,0 +1,9 @@ +/* +# 문제16 : 로꾸거 + +문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다. + +입력 : 거꾸로 +출력 : 로꾸거 + +*/ \ No newline at end of file diff --git a/Problems/017.limit/README.md b/Problems/017.limit/README.md new file mode 100644 index 0000000..b364fc6 --- /dev/null +++ b/Problems/017.limit/README.md @@ -0,0 +1,7 @@ +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. diff --git a/Problems/017.limit/solve.js b/Problems/017.limit/solve.js new file mode 100644 index 0000000..1b30886 --- /dev/null +++ b/Problems/017.limit/solve.js @@ -0,0 +1,9 @@ +/* +# 문제17 : 놀이기구 키 제한 + +유주는 놀이공원 아르바이트 중입니다. 그런데 놀이기구마다 키 제한이 있습니다. +유주가 담당하는 놀이기구는 키가 150cm 이상만 탈 수 있습니다. + +입력으로 키가 주어지면 +키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요. +*/ \ No newline at end of file diff --git a/Problems/018.average/README.md b/Problems/018.average/README.md new file mode 100644 index 0000000..ca04b62 --- /dev/null +++ b/Problems/018.average/README.md @@ -0,0 +1,13 @@ +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +```jsx +**입출력** + +입력 : 20 30 40 +출력 : 30 +``` diff --git a/Problems/018.average/solve.js b/Problems/018.average/solve.js new file mode 100644 index 0000000..6a21475 --- /dev/null +++ b/Problems/018.average/solve.js @@ -0,0 +1,14 @@ +/* +# 문제18 : 평균 점수 + +영하네 반은 국어, 수학, 영어 시험을 보았습니다. 영하는 친구들의 평균 점수를 구해주기로 했습니다. + +공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요. +단, 소숫점 자리는 모두 버립니다. + +**입출력** + +입력 : 20 30 40 +출력 : 30 + +*/ \ No newline at end of file diff --git a/Problems/019.square/README.md b/Problems/019.square/README.md new file mode 100644 index 0000000..e02a30a --- /dev/null +++ b/Problems/019.square/README.md @@ -0,0 +1,3 @@ +문제19 : 제곱을 구하자 + +공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. \ No newline at end of file diff --git a/Problems/019.square/solve.js b/Problems/019.square/solve.js new file mode 100644 index 0000000..1ddc3a4 --- /dev/null +++ b/Problems/019.square/solve.js @@ -0,0 +1,6 @@ +// 문제19 : 제곱을 구하자 + +// 공백으로 구분하여 두 숫자 a와 b가 주어지면, a의 b승을 구하는 프로그램을 작성하세요. + +const num = prompt().split(" "); +console.log(Math.pow(num[0], num[1])); diff --git a/Problems/020.share-remainder/README.md b/Problems/020.share-remainder/README.md new file mode 100644 index 0000000..91c7d9c --- /dev/null +++ b/Problems/020.share-remainder/README.md @@ -0,0 +1,11 @@ +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +```jsx +**입출력** + +입력 : 10 2 +출력 : 5 0 +``` \ No newline at end of file diff --git a/Problems/020.share-remainder/solve.js b/Problems/020.share-remainder/solve.js new file mode 100644 index 0000000..a43ffad --- /dev/null +++ b/Problems/020.share-remainder/solve.js @@ -0,0 +1,11 @@ +/* +# 문제20 : 몫과 나머지 + +공백으로 구분하여 두 숫자가 주어집니다. +두번째 숫자로 첫번째 숫자를 나누었을 때 **그 몫과 나머지를 공백으로 구분하여 출력하세요.** + +**입출력** + +입력 : 10 2 +출력 : 5 0 +*/ \ No newline at end of file diff --git a/Problems/021.set/README.md b/Problems/021.set/README.md new file mode 100644 index 0000000..255a239 --- /dev/null +++ b/Problems/021.set/README.md @@ -0,0 +1,9 @@ +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); \ No newline at end of file diff --git a/Problems/021.set/solve.js b/Problems/021.set/solve.js new file mode 100644 index 0000000..7e3b9cc --- /dev/null +++ b/Problems/021.set/solve.js @@ -0,0 +1,11 @@ +/* +# 문제21 : set은 어떻게 만드나요? + +다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. + +1) var x = {1, 2, 3, 5, 6, 7}; +2) var x = {}; +3) var x = new Set('javascript'); +4) var x = new Set(range(5)); +5) var x = new Set(); +*/ \ No newline at end of file diff --git a/Problems/022.multiple/README.md b/Problems/022.multiple/README.md new file mode 100644 index 0000000..b4d74cc --- /dev/null +++ b/Problems/022.multiple/README.md @@ -0,0 +1,9 @@ +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 \ No newline at end of file diff --git a/Problems/022.multiple/solve.js b/Problems/022.multiple/solve.js new file mode 100644 index 0000000..0cfebbe --- /dev/null +++ b/Problems/022.multiple/solve.js @@ -0,0 +1,11 @@ +/* +# 문제22 : 배수인지 확인하기 + +다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? + +1) i / 6 == 0 +2) i % 6 == 0 +3) i & 6 == 0 +4) i | 6 == 0 +5) i // 6 == 0 +*/ \ No newline at end of file diff --git a/Problems/023.OX/README.md b/Problems/023.OX/README.md new file mode 100644 index 0000000..47e0046 --- /dev/null +++ b/Problems/023.OX/README.md @@ -0,0 +1,3 @@ +# 문제23 : OX문제 + +`console.log(10/3)`의 출력 결과는 **3**이다. \ No newline at end of file diff --git a/Problems/023.OX/solve.js b/Problems/023.OX/solve.js new file mode 100644 index 0000000..1d155a3 --- /dev/null +++ b/Problems/023.OX/solve.js @@ -0,0 +1,3 @@ +// # 문제23: OX문제 + +// `console.log(10/3)`의 출력 결과는 ** 3 ** 이다. \ No newline at end of file diff --git a/Problems/024.toUpperCase/README.md b/Problems/024.toUpperCase/README.md new file mode 100644 index 0000000..a5e5142 --- /dev/null +++ b/Problems/024.toUpperCase/README.md @@ -0,0 +1,12 @@ +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +```jsx +**입출력** + +입력 : mary +출력 : MARY +``` \ No newline at end of file diff --git a/Problems/024.toUpperCase/solve.js b/Problems/024.toUpperCase/solve.js new file mode 100644 index 0000000..989c7d6 --- /dev/null +++ b/Problems/024.toUpperCase/solve.js @@ -0,0 +1,12 @@ +/* +# 문제24 : 대문자로 바꿔주세요! + +민지는 국제 포럼에서 아르바이트를 하게 되었습니다. 민지는 각 국에서 온 참가자들의 명단을 엑셀로 정리하고 있는데 참가자들 이름이 어떤 이는 전부 소문자, 어떤 이는 전부 대문자로 써져 있는 등 형식이 제각각이었습니다. + +민지를 위해 **이름이 입력되면 전부 대문자로 출력되는 프로그램**을 만들어주세요. + +**입출력** + +입력 : mary +출력 : MARY +*/ \ No newline at end of file diff --git a/Problems/025.circle-area/README.md b/Problems/025.circle-area/README.md new file mode 100644 index 0000000..7e79bae --- /dev/null +++ b/Problems/025.circle-area/README.md @@ -0,0 +1,8 @@ +# 문제 25: 원의 넓이를 구하세요 + +원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +**입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + diff --git a/Problems/025.circle-area/solve.js b/Problems/025.circle-area/solve.js new file mode 100644 index 0000000..8328c2c --- /dev/null +++ b/Problems/025.circle-area/solve.js @@ -0,0 +1,12 @@ +// # 문제 25: 원의 넓이를 구하세요 + +// 원의 넓이는 `반지름의 길이 x 반지름의 길이 x 3.14`로 구할 수 있습니다. +// 함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다. + +// **입력으로 반지름의 길이 정수 n이 주어지면 원의 넓이를 반환하는 함수**를 만들어 주세요. + + + + + + \ No newline at end of file diff --git a/Problems/026.planet_2/README.md b/Problems/026.planet_2/README.md new file mode 100644 index 0000000..678e82a --- /dev/null +++ b/Problems/026.planet_2/README.md @@ -0,0 +1,6 @@ +# 문제26 : 행성 문제2 + +우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. + +행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git a/Problems/026.planet_2/solve.js b/Problems/026.planet_2/solve.js new file mode 100644 index 0000000..c13a28d --- /dev/null +++ b/Problems/026.planet_2/solve.js @@ -0,0 +1,4 @@ +// 문제26 : 행성 문제2 + +// 우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다. +// 이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다. diff --git a/Problems/027.object/README.md b/Problems/027.object/README.md new file mode 100644 index 0000000..9b83945 --- /dev/null +++ b/Problems/027.object/README.md @@ -0,0 +1,14 @@ +# 문제27 : 객체 만들기 + +첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + +```jsx +**입력** +Yujin Hyewon +70 100 + +**출력** +{'Yujin': 70, 'Hyewon': 100} +``` \ No newline at end of file diff --git a/Problems/027.object/solve.js b/Problems/027.object/solve.js new file mode 100644 index 0000000..aadfa27 --- /dev/null +++ b/Problems/027.object/solve.js @@ -0,0 +1,13 @@ +// # 문제27 : 객체 만들기 + +// 첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. + +// 두 개를 합쳐 **학생의 이름이 key**이고 **value가 수학 점수**인 객체를 출력해주세요. + + +// **입력** +// Yujin Hyewon +// 70 100 + +// **출력** +// {'Yujin': 70, 'Hyewon': 100} diff --git a/Problems/028.2-gram/README.md b/Problems/028.2-gram/README.md new file mode 100644 index 0000000..3a0dfe1 --- /dev/null +++ b/Problems/028.2-gram/README.md @@ -0,0 +1,23 @@ +# 문제28 : 2-gram + +**2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + +```jsx +**입력** +Javascript + +**출력** +J a +a v +v a +a s +s c +c r +r i +i p +p t +``` + +입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. \ No newline at end of file diff --git a/Problems/028.2-gram/solve.js b/Problems/028.2-gram/solve.js new file mode 100644 index 0000000..31d0d5c --- /dev/null +++ b/Problems/028.2-gram/solve.js @@ -0,0 +1,23 @@ +// # 문제28 : 2-gram + +// **2-gram**이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다. + +// 예를 들어 'Javascript'를 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다. + + +// **입력** +// Javascript + +// **출력** +// J a +// a v +// v a +// a s +// s c +// c r +// r i +// i p +// p t + + +// 입력으로 문자열이 주어지면 **2-gram**으로 출력하는 프로그램을 작성해 주세요. \ No newline at end of file diff --git "a/Problems/029.\353\214\200\353\254\270\354\236\220/README.md" "b/Problems/029.\353\214\200\353\254\270\354\236\220/README.md" new file mode 100644 index 0000000..287a235 --- /dev/null +++ "b/Problems/029.\353\214\200\353\254\270\354\236\220/README.md" @@ -0,0 +1,5 @@ +# 문제29 : 대문자만 지나가세요 + +진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git "a/Problems/029.\353\214\200\353\254\270\354\236\220/solve.js" "b/Problems/029.\353\214\200\353\254\270\354\236\220/solve.js" new file mode 100644 index 0000000..865f652 --- /dev/null +++ "b/Problems/029.\353\214\200\353\254\270\354\236\220/solve.js" @@ -0,0 +1,5 @@ +// 문제29 : 대문자만 지나가세요 + +// 진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. + +// 알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. \ No newline at end of file diff --git a/Problems/030.find-string/README.md b/Problems/030.find-string/README.md new file mode 100644 index 0000000..b2f4ed6 --- /dev/null +++ b/Problems/030.find-string/README.md @@ -0,0 +1,15 @@ +# 문제30 : 문자열 속 문자 찾기 + +문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +**그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +```jsx +**입력** +pineapple is yummy +apple + +**출력** +4 +``` \ No newline at end of file diff --git a/Problems/030.find-string/solve.js b/Problems/030.find-string/solve.js new file mode 100644 index 0000000..f9e6855 --- /dev/null +++ b/Problems/030.find-string/solve.js @@ -0,0 +1,15 @@ +// # 문제30 : 문자열 속 문자 찾기 + +// 문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. + +// 첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. +// **그 문자가 시작하는 index를 반환하는 프로그램**을 만들어 주세요 + +// ```jsx +// **입력** +// pineapple is yummy +// apple + +// **출력** +// 4 +// ``` diff --git a/Problems/031.timeComplexity/README.md b/Problems/031.timeComplexity/README.md new file mode 100644 index 0000000..c10ae55 --- /dev/null +++ b/Problems/031.timeComplexity/README.md @@ -0,0 +1,9 @@ +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() +4) arr.pop() +5) arr.includes(5) \ No newline at end of file diff --git a/Problems/031.timeComplexity/solve.js b/Problems/031.timeComplexity/solve.js new file mode 100644 index 0000000..eaab68a --- /dev/null +++ b/Problems/031.timeComplexity/solve.js @@ -0,0 +1,11 @@ +/* +# 문제31 : 자바스크립트 자료형의 복잡도 + +다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. + +1) arr[i] +2) arr.push(5) +3) arr.slice() +4) arr.pop() +5) arr.includes(5) +*/ \ No newline at end of file diff --git "a/Problems/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" "b/Problems/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" new file mode 100644 index 0000000..53459f4 --- /dev/null +++ "b/Problems/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" @@ -0,0 +1,13 @@ +# 문제32 : 문자열 만들기 + +취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +혜림이를 위해 **문자열을 입력받으면 단어의 갯수를 출력하는 프로그램**을 작성해 주세요. + +```jsx +**입력** +안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +**출력** +5 +``` diff --git "a/Problems/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" "b/Problems/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" new file mode 100644 index 0000000..83b4394 --- /dev/null +++ "b/Problems/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" @@ -0,0 +1,13 @@ +// # 문제32 : 문자열 만들기 + +// 취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. + +// 혜림이를 위해 문자열을 입력받으면 단어의 갯수를 출력하는 프로그램을 작성해 주세요. + +// ```jsx +// **입력** +// 안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. + +// **출력** +// 5 +// ``` diff --git a/Problems/033.Reverse/README.md b/Problems/033.Reverse/README.md new file mode 100644 index 0000000..7d450ce --- /dev/null +++ b/Problems/033.Reverse/README.md @@ -0,0 +1,13 @@ +# 문제33 : 거꾸로 출력하기 + +한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +```jsx +**입출력** +입력 : 1 2 3 4 5 +출력 : 5 4 3 2 1 + +**출력** +입력 : 2 4 6 7 8 +출력 : 8 7 6 4 2 +``` diff --git a/Problems/033.Reverse/solve.js b/Problems/033.Reverse/solve.js new file mode 100644 index 0000000..b1ff0c7 --- /dev/null +++ b/Problems/033.Reverse/solve.js @@ -0,0 +1,14 @@ +// # 문제33 : 거꾸로 출력하기 + +// 한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오. + +// ```jsx +// **입출력** +// 입력 : 1 2 3 4 5 +// 출력 : 5 4 3 2 1 + +// **출력** +// 입력 : 2 4 6 7 8 +// 출력 : 8 7 6 4 2 +// ``` + diff --git a/Problems/034.Sort/README.md b/Problems/034.Sort/README.md new file mode 100644 index 0000000..2d7e610 --- /dev/null +++ b/Problems/034.Sort/README.md @@ -0,0 +1,15 @@ +# 문제34 : sort 구현하기 + +민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +(키는 공백으로 구분하여 입력됩니다.) + +```jsx +**입출력** +입력 : 176 156 155 165 166 169 +출력 : NO + +입력 : 155 156 165 166 169 176 +출력 : YES +``` diff --git a/Problems/034.Sort/solve.js b/Problems/034.Sort/solve.js new file mode 100644 index 0000000..e0501cd --- /dev/null +++ b/Problems/034.Sort/solve.js @@ -0,0 +1,16 @@ +// # 문제34 : sort 구현하기 + +// 민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +// 민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +// (키는 공백으로 구분하여 입력됩니다.) + +// ```jsx +// **입출력** +// 입력 : 176 156 155 165 166 169 +// 출력 : NO + +// 입력 : 155 156 165 166 169 176 +// 출력 : YES +// ``` + diff --git a/Problems/034.sort/README.md b/Problems/034.sort/README.md new file mode 100644 index 0000000..2d7e610 --- /dev/null +++ b/Problems/034.sort/README.md @@ -0,0 +1,15 @@ +# 문제34 : sort 구현하기 + +민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +(키는 공백으로 구분하여 입력됩니다.) + +```jsx +**입출력** +입력 : 176 156 155 165 166 169 +출력 : NO + +입력 : 155 156 165 166 169 176 +출력 : YES +``` diff --git a/Problems/034.sort/solve.js b/Problems/034.sort/solve.js new file mode 100644 index 0000000..e0501cd --- /dev/null +++ b/Problems/034.sort/solve.js @@ -0,0 +1,16 @@ +// # 문제34 : sort 구현하기 + +// 민주는 체육부장으로 체육시간이 되면 반 친구들이 제대로 키 순서대로 모였는지를 확인해야 한다. 그런데 요즘 민주는 그것이 너무 번거롭게 느껴져 한 번에 확인하고 싶어한다. + +// 민주를 위해 키가 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 작성해보자. +// (키는 공백으로 구분하여 입력됩니다.) + +// ```jsx +// **입출력** +// 입력 : 176 156 155 165 166 169 +// 출력 : NO + +// 입력 : 155 156 165 166 169 176 +// 출력 : YES +// ``` + diff --git a/Problems/035.function/README.md b/Problems/035.function/README.md new file mode 100644 index 0000000..5e4b62a --- /dev/null +++ b/Problems/035.function/README.md @@ -0,0 +1,22 @@ +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` \ No newline at end of file diff --git a/Problems/035.function/solve.js b/Problems/035.function/solve.js new file mode 100644 index 0000000..5e30d7e --- /dev/null +++ b/Problems/035.function/solve.js @@ -0,0 +1,24 @@ +/* +# 문제35 : Factory 함수 사용하기 + +2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. + +에 코드를 작성하여 two함수를 완성하세요. + +```jsx +function one(n){ + function two(){ + //pass + } + return two; +} + +const a = one(2); +const b = one(3); +const c = one(4); + +console.log(a(10)); +console.log(b(10)); +console.log(c(10)); +``` +*/ diff --git a/Problems/036.Multiplication_Table/README.md b/Problems/036.Multiplication_Table/README.md new file mode 100644 index 0000000..3691735 --- /dev/null +++ b/Problems/036.Multiplication_Table/README.md @@ -0,0 +1,10 @@ +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` \ No newline at end of file diff --git a/Problems/036.Multiplication_Table/solve.js b/Problems/036.Multiplication_Table/solve.js new file mode 100644 index 0000000..9e2a29f --- /dev/null +++ b/Problems/036.Multiplication_Table/solve.js @@ -0,0 +1,12 @@ +/* +# 문제36 : 구구단 출력하기 + +1~9까지의 숫자 중 하나를 입력하면 그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요. + +```jsx +**입출력** + +입력 : 2 +출력 : 2 4 6 8 10 12 14 16 18 +``` +*/ diff --git "a/Problems/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" "b/Problems/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" new file mode 100644 index 0000000..18cac02 --- /dev/null +++ "b/Problems/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" @@ -0,0 +1,11 @@ +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` \ No newline at end of file diff --git "a/Problems/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" "b/Problems/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" new file mode 100644 index 0000000..9047acb --- /dev/null +++ "b/Problems/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" @@ -0,0 +1,13 @@ +/* +# 문제37 : 반장 선거 + +새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다. 그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은 **학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는 프로그램**을 작성하기로 하였습니다. + +```jsx +**입력** +원범 원범 혜원 혜원 혜원 혜원 유진 유진 + +**출력** +혜원(이)가 총 4표로 반장이 되었습니다. +``` +*/ diff --git "a/Problems/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" "b/Problems/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" new file mode 100644 index 0000000..36a32d4 --- /dev/null +++ "b/Problems/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/README.md" @@ -0,0 +1,13 @@ +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` \ No newline at end of file diff --git "a/Problems/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" "b/Problems/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" new file mode 100644 index 0000000..02ebce0 --- /dev/null +++ "b/Problems/038.\355\230\270\354\244\200\354\235\264\354\235\230_\354\225\204\353\245\264\353\260\224\354\235\264\355\212\270/solve.js" @@ -0,0 +1,15 @@ +/* +# 문제38 : 호준이의 아르바이트 + +호준이는 아르바이트로 영어 학원에서 단어 시험지를 채점하는 일을 하고 있다. 호준이가 일하는 학원은 매번 1위부터 3위까지의 학생에게 상으로 사탕을 준다. 그런데 오늘은 마침 사탕이 다 떨어져서 호준이가 채점을 하고 점수를 보내면, 당신이 아이들의 숫자만큼 사탕을 사러 가기로 했다. + +1위 ~ 3위 학생은 여러명일 수 있고 1~3위 학생 중 중복되는 학생까지 포함하여 사탕을 사기로 한다. +**학생들의 점수를 공백으로 구분하여 입력을 받고 사탕을 받을 학생의 수를 출력하세요.** + +```jsx +**입출력** + +입력 : 97 86 75 66 55 97 85 97 97 95 +출력 : 6 +``` +*/ diff --git "a/Problems/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" "b/Problems/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" new file mode 100644 index 0000000..3b0af06 --- /dev/null +++ "b/Problems/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" @@ -0,0 +1,18 @@ +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +``` \ No newline at end of file diff --git "a/Problems/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" "b/Problems/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" new file mode 100644 index 0000000..f593793 --- /dev/null +++ "b/Problems/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" @@ -0,0 +1,20 @@ +/* +# 문제39 : 오타 수정하기 + +혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. + +그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. +혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. + +**문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.** + +```jsx +**입출력** + +입력 : querty +출력 : euerty + +입력 : hqllo my namq is hyqwon +출력 : hello my name is hyewon +``` +*/ diff --git "a/Problems/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" "b/Problems/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" new file mode 100644 index 0000000..324d030 --- /dev/null +++ "b/Problems/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/README.md" @@ -0,0 +1,22 @@ +# 문제40 : 놀이동산에 가자 + +테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다. + +**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.** + +첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. +그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다. + +```jsx +**입력** +50 +5 +20 +20 +20 +20 +20 + +**출력** +2 +``` \ No newline at end of file diff --git "a/Problems/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" "b/Problems/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" new file mode 100644 index 0000000..5e7a5bd --- /dev/null +++ "b/Problems/040.\353\206\200\354\235\264\353\217\231\354\202\260\354\227\220_\352\260\200\354\236\220/solve.js" @@ -0,0 +1,24 @@ +/* +# 문제40 : 놀이동산에 가자 + +테마파크에 온 원범이와 친구들은 놀이기구를 타려고 합니다. 모든 놀이기구는 한번에 타는 인원수에는 제한이 없지만 제한 무게를 넘으면 무조건 다음 기구를 타야 합니다. + +**원범이와 친구들이 총 몇 명 탈 수 있는지 알 수 있는 프로그램을 작성해 주세요.** + +첫번째 입력으로 제한 무게가 주어지고 두번째 입력으로는 함께한 친구들의 수 n이 주어집니다. +그 다음 차례대로 탑승할 친구들의 몸무게가 주어집니다. 몸무게는 무작위로 주어집니다. + +```jsx +**입력** +50 +5 +20 +20 +20 +20 +20 + +**출력** +2 +``` +*/ diff --git "a/Problems/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" "b/Problems/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" new file mode 100644 index 0000000..11c15e3 --- /dev/null +++ "b/Problems/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" @@ -0,0 +1,5 @@ +# 문제41 : 소수판별 + +숫자가 주어지면 **소수인지 아닌지 판별하는 프로그램**을 작성해주세요. +소수이면 YES로, 소수가 아니면 NO로 출력해주세요. +(소수 : 1과 자기 자신만으로 나누어떨어지는 1보다 큰 양의 정수) \ No newline at end of file diff --git "a/Problems/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" "b/Problems/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" new file mode 100644 index 0000000..a6fb664 --- /dev/null +++ "b/Problems/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" @@ -0,0 +1,7 @@ +/* +# 문제41 : 소수판별 + +숫자가 주어지면 **소수인지 아닌지 판별하는 프로그램**을 작성해주세요. +소수이면 YES로, 소수가 아니면 NO로 출력해주세요. +(소수 : 1과 자기 자신만으로 나누어떨어지는 1보다 큰 양의 정수) +*/ diff --git "a/Problems/042.2020\353\205\204/README.md" "b/Problems/042.2020\353\205\204/README.md" new file mode 100644 index 0000000..6fc7600 --- /dev/null +++ "b/Problems/042.2020\353\205\204/README.md" @@ -0,0 +1,12 @@ +# 문제42 : 2020년 + +2020년 1월 1일은 수요일입니다. 2020년 a월 b일은 무슨 요일일까요? +두 수 a, b를 입력받아 2020년 a월 b일이 무슨 요일인지 리턴하는 함수 solution을 완성하세요. +요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT 입니다. + +예를 들어 a = 5, b = 24라면 5월 24일은 일요일이므로 문자열 "SUN"를 반환하세요. + +**제한 조건** +2020년은 윤년입니다. +2020년 a월 b일은 실제로 있는 날입니다. +(13월 26일이나 2월 45일 같은 날짜는 주어지지 않습니다.) \ No newline at end of file diff --git "a/Problems/042.2020\353\205\204/solve.js" "b/Problems/042.2020\353\205\204/solve.js" new file mode 100644 index 0000000..4668f12 --- /dev/null +++ "b/Problems/042.2020\353\205\204/solve.js" @@ -0,0 +1,14 @@ +/* +# 문제42 : 2020년 + +2020년 1월 1일은 수요일입니다. 2020년 a월 b일은 무슨 요일일까요? +두 수 a, b를 입력받아 2020년 a월 b일이 무슨 요일인지 리턴하는 함수 solution을 완성하세요. +요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT 입니다. + +예를 들어 a = 5, b = 24라면 5월 24일은 일요일이므로 문자열 "SUN"를 반환하세요. + +**제한 조건** +2020년은 윤년입니다. +2020년 a월 b일은 실제로 있는 날입니다. +(13월 26일이나 2월 45일 같은 날짜는 주어지지 않습니다.) +*/ diff --git "a/Problems/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/README.md" "b/Problems/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/README.md" new file mode 100644 index 0000000..1f52218 --- /dev/null +++ "b/Problems/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/README.md" @@ -0,0 +1,6 @@ +# 문제43 : 10진수를 2진수로 + +우리가 흔히 사용하는 숫자 1, 8, 19, 28893 등등...은 10진수 체계입니다. +이를 컴퓨터가 알아 들을 수 있는 2진수로 바꾸려고 합니다. 어떻게 해야할까요? + +**사용자에게 숫자를 입력받고 이를 2진수를 바꾸고 그 값을 출력해주세요.** \ No newline at end of file diff --git "a/Problems/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/solve.js" "b/Problems/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/solve.js" new file mode 100644 index 0000000..7257c2b --- /dev/null +++ "b/Problems/043.10\354\247\204\354\210\230\353\245\274_2\354\247\204\354\210\230\353\241\234/solve.js" @@ -0,0 +1,8 @@ +/* +# 문제43 : 10진수를 2진수로 + +우리가 흔히 사용하는 숫자 1, 8, 19, 28893 등등...은 10진수 체계입니다. +이를 컴퓨터가 알아 들을 수 있는 2진수로 바꾸려고 합니다. 어떻게 해야할까요? + +**사용자에게 숫자를 입력받고 이를 2진수를 바꾸고 그 값을 출력해주세요.** +*/ diff --git "a/Problems/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/README.md" "b/Problems/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/README.md" new file mode 100644 index 0000000..c581b86 --- /dev/null +++ "b/Problems/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/README.md" @@ -0,0 +1,17 @@ +# 문제44 : 각 자리수의 합 + +**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 + +**예를들어** +18234 = 1+8+2+3+4 이고 정답은 18 입니다. +3849 = 3+8+4+9 이고 정답은 24입니다. + +```jsx +**입출력** + +입력 : 18234 +출력 : 18 + +입력 : 3849 +출력 : 24 +``` \ No newline at end of file diff --git "a/Problems/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/solve.js" "b/Problems/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/solve.js" new file mode 100644 index 0000000..c650971 --- /dev/null +++ "b/Problems/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/solve.js" @@ -0,0 +1,19 @@ +/* +# 문제44 : 각 자리수의 합 + +**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 + +**예를들어** +18234 = 1+8+2+3+4 이고 정답은 18 입니다. +3849 = 3+8+4+9 이고 정답은 24입니다. + +```jsx +**입출력** + +입력 : 18234 +출력 : 18 + +입력 : 3849 +출력 : 24 +``` +*/ diff --git a/Problems/045.getTime/README.md b/Problems/045.getTime/README.md new file mode 100644 index 0000000..6ce968a --- /dev/null +++ b/Problems/045.getTime/README.md @@ -0,0 +1,5 @@ +# 문제45 : getTime()함수 사용하기 + +Date객체의 메소드 중 하나인 getTime()은 1970년 1월 1일 0시 0분 0초 이후로부터 지금까지 흐른 시간을 천분의 1초 단위(ms)로 반환합니다. + +이를 이용하여 **현재 연도(2019)를 출력해보세요.** diff --git a/Problems/045.getTime/solve.js b/Problems/045.getTime/solve.js new file mode 100644 index 0000000..5661cf0 --- /dev/null +++ b/Problems/045.getTime/solve.js @@ -0,0 +1,7 @@ +/* +# 문제45 : getTime()함수 사용하기 + +Date객체의 메소드 중 하나인 getTime()은 1970년 1월 1일 0시 0분 0초 이후로부터 지금까지 흐른 시간을 천분의 1초 단위(ms)로 반환합니다. + +이를 이용하여 **현재 연도(2019)를 출력해보세요.** +*/ diff --git "a/Problems/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/README.md" "b/Problems/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/README.md" new file mode 100644 index 0000000..ece3532 --- /dev/null +++ "b/Problems/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/README.md" @@ -0,0 +1,6 @@ +# 문제46 : 각 자리수의 합 2 + +1부터 20까지의(20을 포함) 모든 숫자를 일렬로 놓고 모든 자릿수의 총 합을 구하세요. + +예를 들어 10부터 15까지의 모든 숫자를 일렬로 놓으면 101112131415이고 +각 자리의 숫자를 더하면 21입니다. (1+0+1+1+1+2+1+3+1+4+1+5 = 21) diff --git "a/Problems/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/solve.js" "b/Problems/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/solve.js" new file mode 100644 index 0000000..747af4c --- /dev/null +++ "b/Problems/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/solve.js" @@ -0,0 +1,8 @@ +/* +# 문제46 : 각 자리수의 합 2 + +1부터 20까지의(20을 포함) 모든 숫자를 일렬로 놓고 모든 자릿수의 총 합을 구하세요. + +예를 들어 10부터 15까지의 모든 숫자를 일렬로 놓으면 101112131415이고 +각 자리의 숫자를 더하면 21입니다. (1+0+1+1+1+2+1+3+1+4+1+5 = 21) +*/ diff --git "a/Problems/047.set\354\236\220\353\243\214\355\230\225\354\235\230_\354\235\221\354\232\251/README.md" "b/Problems/047.set\354\236\220\353\243\214\355\230\225\354\235\230_\354\235\221\354\232\251/README.md" new file mode 100644 index 0000000..3e6cf03 --- /dev/null +++ "b/Problems/047.set\354\236\220\353\243\214\355\230\225\354\235\230_\354\235\221\354\232\251/README.md" @@ -0,0 +1,19 @@ +# 문제47 : set 자료형의 응용 + +바울랩에서는 3월 29일 제주대학교에서 '제주 빅데이터 사회혁신 해커톤' 행사를 주최하게 되었습니다. 이에 구글 설문지를 배포하였으나 제주대학생들이 중복해서 n개씩 설문지를 제출하였습니다. + +**중복된 데이터들을 삭제하여 실제 접수 명단이 몇 명인지 알고 싶습니다.** + +아래 주어진 데이터들로부터 중복을 제거하여 **실제 접수 인원을 출력**해 주세요. + +```jsx +const people = { + 이호준: "01050442903", + 이호상: "01051442904", + 이준호: "01050342904", + 이호준: "01050442903", + 이준: "01050412904", + 이호: "01050443904", + 이호준: "01050442903", +}; +``` diff --git "a/Problems/047.set\354\236\220\353\243\214\355\230\225\354\235\230_\354\235\221\354\232\251/solve.js" "b/Problems/047.set\354\236\220\353\243\214\355\230\225\354\235\230_\354\235\221\354\232\251/solve.js" new file mode 100644 index 0000000..0f17c3f --- /dev/null +++ "b/Problems/047.set\354\236\220\353\243\214\355\230\225\354\235\230_\354\235\221\354\232\251/solve.js" @@ -0,0 +1,21 @@ +/* +# 문제47 : set 자료형의 응용 + +바울랩에서는 3월 29일 제주대학교에서 '제주 빅데이터 사회혁신 해커톤' 행사를 주최하게 되었습니다. 이에 구글 설문지를 배포하였으나 제주대학생들이 중복해서 n개씩 설문지를 제출하였습니다. + +**중복된 데이터들을 삭제하여 실제 접수 명단이 몇 명인지 알고 싶습니다.** + +아래 주어진 데이터들로부터 중복을 제거하여 **실제 접수 인원을 출력**해 주세요. + +```jsx +const people = { + 이호준: "01050442903", + 이호상: "01051442904", + 이준호: "01050342904", + 이호준: "01050442903", + 이준: "01050412904", + 이호: "01050443904", + 이호준: "01050442903", +}; +``` +*/ diff --git "a/Problems/048.\353\214\200\354\206\214\353\254\270\354\236\220_\353\260\224\352\277\224\354\204\234_\354\266\234\353\240\245\355\225\230\352\270\260/README.md" "b/Problems/048.\353\214\200\354\206\214\353\254\270\354\236\220_\353\260\224\352\277\224\354\204\234_\354\266\234\353\240\245\355\225\230\352\270\260/README.md" new file mode 100644 index 0000000..e5df8bb --- /dev/null +++ "b/Problems/048.\353\214\200\354\206\214\353\254\270\354\236\220_\353\260\224\352\277\224\354\204\234_\354\266\234\353\240\245\355\225\230\352\270\260/README.md" @@ -0,0 +1,10 @@ +# 문제48 : 대소문자 바꿔서 출력하기 + +문자열이 주어지면 대문자와 소문자를 바꿔서 출력하는 프로그램을 작성하세요. + +```jsx +입출력; + +입력: AAABBBcccddd; +출력: aaabbbCCCDDD; +``` diff --git "a/Problems/048.\353\214\200\354\206\214\353\254\270\354\236\220_\353\260\224\352\277\224\354\204\234_\354\266\234\353\240\245\355\225\230\352\270\260/solve.js" "b/Problems/048.\353\214\200\354\206\214\353\254\270\354\236\220_\353\260\224\352\277\224\354\204\234_\354\266\234\353\240\245\355\225\230\352\270\260/solve.js" new file mode 100644 index 0000000..aacb6e7 --- /dev/null +++ "b/Problems/048.\353\214\200\354\206\214\353\254\270\354\236\220_\353\260\224\352\277\224\354\204\234_\354\266\234\353\240\245\355\225\230\352\270\260/solve.js" @@ -0,0 +1,12 @@ +/* +# 문제48 : 대소문자 바꿔서 출력하기 + +문자열이 주어지면 대문자와 소문자를 바꿔서 출력하는 프로그램을 작성하세요. + +```jsx +입출력 + +입력 : AAABBBcccddd +출력 : aaabbbCCCDDD +``` +*/ diff --git "a/Problems/049.\354\265\234\353\214\223\352\260\222_\352\265\254\355\225\230\352\270\260/README.md" "b/Problems/049.\354\265\234\353\214\223\352\260\222_\352\265\254\355\225\230\352\270\260/README.md" new file mode 100644 index 0000000..75561b7 --- /dev/null +++ "b/Problems/049.\354\265\234\353\214\223\352\260\222_\352\265\254\355\225\230\352\270\260/README.md" @@ -0,0 +1,10 @@ +# 문제49 : 최댓값 구하기 + +순서가 없는 10개의 숫자가 공백으로 구분되어 주어진다. 주어진 숫자들 중 최댓값을 반환하라. + +```jsx +입출력 + +입력 : 10 9 8 7 6 5 4 3 2 1 +출력 : 10 +``` diff --git "a/Problems/049.\354\265\234\353\214\223\352\260\222_\352\265\254\355\225\230\352\270\260/solve.js" "b/Problems/049.\354\265\234\353\214\223\352\260\222_\352\265\254\355\225\230\352\270\260/solve.js" new file mode 100644 index 0000000..01a2d3c --- /dev/null +++ "b/Problems/049.\354\265\234\353\214\223\352\260\222_\352\265\254\355\225\230\352\270\260/solve.js" @@ -0,0 +1,8 @@ +// # 문제49 : 최댓값 구하기 + +// 순서가 없는 10개의 숫자가 공백으로 구분되어 주어진다. 주어진 숫자들 중 최댓값을 반환하라. + +// 입출력 + +// 입력 : 10 9 8 7 6 5 4 3 2 1 +// 출력 : 10 \ No newline at end of file diff --git "a/Problems/050.\353\262\204\353\270\224\354\240\225\353\240\254_\352\265\254\355\230\204\355\225\230\352\270\260/README.md" "b/Problems/050.\353\262\204\353\270\224\354\240\225\353\240\254_\352\265\254\355\230\204\355\225\230\352\270\260/README.md" new file mode 100644 index 0000000..194dd74 --- /dev/null +++ "b/Problems/050.\353\262\204\353\270\224\354\240\225\353\240\254_\352\265\254\355\230\204\355\225\230\352\270\260/README.md" @@ -0,0 +1,26 @@ +# 문제50 : 버블정렬 구현하기 + +버블정렬은 두 인접한 원소를 검사하여 정렬하는 방법을 말합니다. 시간 복잡도는 느리지만 코드가 단순하기 때문에 자주 사용됩니다. + +아래 코드의 빈 칸을 채워 버블 정렬을 완성해 봅시다. + +```jsx +function bubble(arr) { + let result = arr.slice(); + + for (let i = 0; i < result.length - 1; i++) { + for (/*빈칸을 채워주세요.*/) { + if (result[j] > result[j + 1]) { + //빈칸을 채워주세요. + } + } + } + return result; +} + +const items = prompt('입력해주세요.').split(' ').map((n) => { + return parseInt(n, 10); +}); + +console.log(bubble(items)); +``` diff --git "a/Problems/050.\353\262\204\353\270\224\354\240\225\353\240\254_\352\265\254\355\230\204\355\225\230\352\270\260/solve.js" "b/Problems/050.\353\262\204\353\270\224\354\240\225\353\240\254_\352\265\254\355\230\204\355\225\230\352\270\260/solve.js" new file mode 100644 index 0000000..e24a550 --- /dev/null +++ "b/Problems/050.\353\262\204\353\270\224\354\240\225\353\240\254_\352\265\254\355\230\204\355\225\230\352\270\260/solve.js" @@ -0,0 +1,29 @@ +/* +# 문제50 : 버블정렬 구현하기 + +버블정렬은 두 인접한 원소를 검사하여 정렬하는 방법을 말합니다. 시간 복잡도는 느리지만 코드가 단순하기 때문에 자주 사용됩니다. + + +아래 코드의 빈 칸을 채워 버블 정렬을 완성해 봅시다. + +```jsx +function bubble(arr) { + let result = arr.slice(); + + for (let i = 0; i < result.length - 1; i++) { + for (//빈칸을 채워주세요.) { + if (result[j] > result[j + 1]) { + //빈칸을 채워주세요. + } + } + } + return result; + } + + const items = prompt('입력해주세요.').split(' ').map((n) => { + return parseInt(n, 10); + }); + + console.log(bubble(items)); +``` +*/ diff --git a/Problems/051.merge_sort/README.md b/Problems/051.merge_sort/README.md new file mode 100644 index 0000000..6b1c81b --- /dev/null +++ b/Problems/051.merge_sort/README.md @@ -0,0 +1,50 @@ +# 문제51 : merge sort를 만들어보자 + +병합정렬(merge sort)은 대표적인 정렬 알고리즘 중 하나로 다음과 같이 동작합니다. + +> 1. 리스트의 길이가 0 또는 1이면 이미 정렬된 것으로 본다. 그렇지 않은 경우에는 +> 2. 정렬되지 않은 리스트를 절반으로 잘라 비슷한 크기의 두 부분 리스트로 나눈다. +> 3. 각 부분 리스트를 재귀적으로 합병 정렬을 이용해 정렬한다. +> 4. 두 부분 리스트를 다시 하나의 정렬된 리스트로 합병한다. + +출처 : 위키피디아 + +다음 코드의 빈칸을 채워 병합정렬을 완성해 봅시다. + +```jsx +function mergeSort(arr){ + if (arr.length <= 1){ + return arr; + } + + const mid = Math.floor(arr.length / 2); + const left = arr.slice(0,mid); + const right = arr.slice(mid); + + return merge(mergeSort(left), mergeSort(right)); +} + +function merge(left, right){ + let result = []; + + while (/*빈칸을 채워주세요*/ && /*빈칸을 채워주세요*/){ + if (/*빈칸을 채워주세요*/){ + result.push(left.shift()); + } else { + result.push(right.shift()); + } + } + while (left.length) { + /*빈칸을 채워주세요*/ + } + while (right.length) { + /*빈칸을 채워주세요*/ + } + + return result; +} + +const array = prompt('배열을 입력하세요').split(' ').map(n => parseInt(n, 10)); + +console.log(mergeSort(array)); +``` diff --git a/Problems/051.merge_sort/solve.js b/Problems/051.merge_sort/solve.js new file mode 100644 index 0000000..63a1b04 --- /dev/null +++ b/Problems/051.merge_sort/solve.js @@ -0,0 +1,51 @@ +/* +# 문제51 : merge sort를 만들어보자 + +병합정렬(merge sort)은 대표적인 정렬 알고리즘 중 하나로 다음과 같이 동작합니다. + +> 1. 리스트의 길이가 0 또는 1이면 이미 정렬된 것으로 본다. 그렇지 않은 경우에는 +> 2. 정렬되지 않은 리스트를 절반으로 잘라 비슷한 크기의 두 부분 리스트로 나눈다. +> 3. 각 부분 리스트를 재귀적으로 합병 정렬을 이용해 정렬한다. +> 4. 두 부분 리스트를 다시 하나의 정렬된 리스트로 합병한다. + +출처 : 위키피디아 + +다음 코드의 빈칸을 채워 병합정렬을 완성해 봅시다. + +```jsx +function mergeSort(arr){ + if (arr.length <= 1){ + return arr; + } + + const mid = Math.floor(arr.length / 2); + const left = arr.slice(0,mid); + const right = arr.slice(mid); + + return merge(mergeSort(left), mergeSort(right)); +} + +function merge(left, right){ + let result = []; + + while (//빈칸을 채워주세요 && 빈칸을 채워주세요){ + if (//빈칸을 채워주세요){ + result.push(left.shift()); + } else { + result.push(right.shift()); + } + } + while (left.length) { + //빈칸을 채워주세요 + } + while (right.length) { + //빈칸을 채워주세요 + } + + return result; + } + + const array = prompt('배열을 입력하세요').split(' ').map(n => parseInt(n, 10)); + + console.log(mergeSort(array)); + ``` */ diff --git a/Problems/052.quick_sort/README.md b/Problems/052.quick_sort/README.md new file mode 100644 index 0000000..83937a5 --- /dev/null +++ b/Problems/052.quick_sort/README.md @@ -0,0 +1,28 @@ +# 문제52 : quick sort + +다음 빈 칸을 채워 퀵 정렬을 완성해주세요. + +```jsx +function quickSort(arr){ + if (arr.length <= 1){ + return arr; + } + + const pivot = arr[0]; + const left = []; + const right = []; + + for (let i=1; i parseInt(n, 10)); + +console.log(quickSort(array)); +``` diff --git a/Problems/052.quick_sort/solve.js b/Problems/052.quick_sort/solve.js new file mode 100644 index 0000000..990f8b7 --- /dev/null +++ b/Problems/052.quick_sort/solve.js @@ -0,0 +1,30 @@ +/* +# 문제52 : quick sort + +다음 빈 칸을 채워 퀵 정렬을 완성해주세요. + +```jsx +function quickSort(arr){ + if (arr.length <= 1){ + return arr; + } + + const pivot = arr[0]; + const left = []; + const right = []; + + for (let i=1; i parseInt(n, 10)); + +console.log(quickSort(array)); +``` +*/ diff --git "a/Problems/053.\352\264\204\355\230\270_\353\254\270\354\236\220\354\227\264/README.md" "b/Problems/053.\352\264\204\355\230\270_\353\254\270\354\236\220\354\227\264/README.md" new file mode 100644 index 0000000..22b8296 --- /dev/null +++ "b/Problems/053.\352\264\204\355\230\270_\353\254\270\354\236\220\354\227\264/README.md" @@ -0,0 +1,8 @@ +# 문제53 : 괄호 문자열 + +괄호 문자열이란 괄호 기호인 '{', '}', '[', ']', '(', ')' 와 같은 것을 말한다. 그중 괄호의 모양이 바르게 구성된 문자열을 **바른 문자열**, 그렇지 않은 문자열을 **바르지 않은 문자열**이라 부르도록 하자. + +(())와 같은 문자열은 바른 문자열이지만 ()()) 와 같은 문자열은 바르지 않은 문자열이다. +(해당 문제에서는 소괄호만 판별하지만, 중괄호와 대괄호까지 판별해 보세요.) + +**입력으로 주어진 괄호 문자열이 바른 문자열인지 바르지 않은 문자열인지 "YES"와 "NO"로 구분된 문자열을 출력해보자.** diff --git "a/Problems/053.\352\264\204\355\230\270_\353\254\270\354\236\220\354\227\264/solve.js" "b/Problems/053.\352\264\204\355\230\270_\353\254\270\354\236\220\354\227\264/solve.js" new file mode 100644 index 0000000..a5683c5 --- /dev/null +++ "b/Problems/053.\352\264\204\355\230\270_\353\254\270\354\236\220\354\227\264/solve.js" @@ -0,0 +1,10 @@ +/* +# 문제53 : 괄호 문자열 + +괄호 문자열이란 괄호 기호인 '{', '}', '[', ']', '(', ')' 와 같은 것을 말한다. 그중 괄호의 모양이 바르게 구성된 문자열을 **바른 문자열**, 그렇지 않은 문자열을 **바르지 않은 문자열**이라 부르도록 하자. + +(())와 같은 문자열은 바른 문자열이지만 ()()) 와 같은 문자열은 바르지 않은 문자열이다. +(해당 문제에서는 소괄호만 판별하지만, 중괄호와 대괄호까지 판별해 보세요.) + +**입력으로 주어진 괄호 문자열이 바른 문자열인지 바르지 않은 문자열인지 "YES"와 "NO"로 구분된 문자열을 출력해보자.** +*/ diff --git "a/Problems/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/README.md" "b/Problems/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/README.md" new file mode 100644 index 0000000..7f0af59 --- /dev/null +++ "b/Problems/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/README.md" @@ -0,0 +1,21 @@ +# 문제54 : 연속되는 수 + +은주는 놀이공원 아르바이트를 하고 있다. 은주가 일하는 놀이공원에서는 현재 놀이공원 곳곳에 숨겨진 숫자 스탬프를 모아 오면 선물을 주는 이벤트를 하고 있다. 숫자 스탬프는 매일 그 수와 스탬프에 적힌 숫자가 바뀌지만 그 숫자는 항상 연속된다. +그런데 요즘 다른 날에 찍은 스탬프를 가지고 와 선물을 달라고 하는 손님이 늘었다. + +스탬프에 적힌 숫자가 공백으로 구분되어 주어지면 이 숫자가 연속수인지 아닌지 "YES"와 "NO"로 판별하는 프로그램을 작성하시오 + +```jsx +입력1 +1 2 3 4 5 + +출력1 +YES + + +입력2 +1 4 2 6 3 + +출력2 +NO +``` diff --git "a/Problems/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/solve.js" "b/Problems/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/solve.js" new file mode 100644 index 0000000..58e4b02 --- /dev/null +++ "b/Problems/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/solve.js" @@ -0,0 +1,23 @@ +/* +# 문제54 : 연속되는 수 + +은주는 놀이공원 아르바이트를 하고 있다. 은주가 일하는 놀이공원에서는 현재 놀이공원 곳곳에 숨겨진 숫자 스탬프를 모아 오면 선물을 주는 이벤트를 하고 있다. 숫자 스탬프는 매일 그 수와 스탬프에 적힌 숫자가 바뀌지만 그 숫자는 항상 연속된다. +그런데 요즘 다른 날에 찍은 스탬프를 가지고 와 선물을 달라고 하는 손님이 늘었다. + +스탬프에 적힌 숫자가 공백으로 구분되어 주어지면 이 숫자가 연속수인지 아닌지 "YES"와 "NO"로 판별하는 프로그램을 작성하시오 + +```jsx +입력1 +1 2 3 4 5 + +출력1 +YES + + +입력2 +1 4 2 6 3 + +출력2 +NO +``` +*/ diff --git "a/Problems/055.\355\225\230\353\205\270\354\235\264\354\235\230_\355\203\221/README.md" "b/Problems/055.\355\225\230\353\205\270\354\235\264\354\235\230_\355\203\221/README.md" new file mode 100644 index 0000000..66e27e4 --- /dev/null +++ "b/Problems/055.\355\225\230\353\205\270\354\235\264\354\235\230_\355\203\221/README.md" @@ -0,0 +1,35 @@ +# 문제55 : 하노이의 탑 + +하노이의 탑은 프랑스 수학자 에두아르드가 처음으로 발표한 게임입니다. 하노이의 탑은 A, B, C 3개의 기둥과 기둥에 꽂을 수 있는 N 개의 원판으로 이루어져 있습니다. 이 게임에서는 다음의 규칙을 만족해야 합니다. + +> 1. 처음에 모든 원판은 A 기둥에 꽂혀 있다. +> 2. 모든 원판의 지름은 다르다. +> 3. 이 원반은 세 개의 기둥 중 하나에 반드시 꽂혀야 한다. +> 4. 작은 원반 위에 큰 원반을 놓을 수 없다. +> 5. 한 번에 하나의 원판(가장 위에 있는 원판)만을 옮길 수 있다. + +이 규칙을 만족하며 A 기둥에 있는 원반 N 개를 모두 C 원반으로 옮기고 싶습니다. +모든 원반을 옮기기 위해 실행되어야 할 최소 원반 이동 횟수를 계산하는 프로그램을 완성해 주세요. + +```jsx +const route = []; + +function hanoi(num, start, end, temp) { + //원판이 한 개일 때에는 바로 옮기면 됩니다. + if (num === 1) { + route.push([start, end]); + return NaN; + } + + //원반이 n-1개를 경유기둥으로 옮기고 + hanoi(/*내용을 채워주세요.*/); + //가장 큰 원반은 목표기둥으로 + route.push(/*내용을 채워주세요.*/); + //경유기둥과 시작기둥을 바꿉니다. + hanoi(/*내용을 채워주세요.*/); +} + +hanoi(3, "A", "B", "C"); +console.log(route); +console.log(route.length); +``` diff --git "a/Problems/055.\355\225\230\353\205\270\354\235\264\354\235\230_\355\203\221/solve.js" "b/Problems/055.\355\225\230\353\205\270\354\235\264\354\235\230_\355\203\221/solve.js" new file mode 100644 index 0000000..f12e330 --- /dev/null +++ "b/Problems/055.\355\225\230\353\205\270\354\235\264\354\235\230_\355\203\221/solve.js" @@ -0,0 +1,38 @@ +/* +# 문제55 : 하노이의 탑 + +하노이의 탑은 프랑스 수학자 에두아르드가 처음으로 발표한 게임입니다. 하노이의 탑은 A, B, C 3개의 기둥과 기둥에 꽂을 수 있는 N 개의 원판으로 이루어져 있습니다. 이 게임에서는 다음의 규칙을 만족해야 합니다. + +> 1. 처음에 모든 원판은 A 기둥에 꽂혀 있다. +> 2. 모든 원판의 지름은 다르다. +> 3. 이 원반은 세 개의 기둥 중 하나에 반드시 꽂혀야 한다. +> 4. 작은 원반 위에 큰 원반을 놓을 수 없다. +> 5. 한 번에 하나의 원판(가장 위에 있는 원판)만을 옮길 수 있다. + + +이 규칙을 만족하며 A 기둥에 있는 원반 N 개를 모두 C 원반으로 옮기고 싶습니다. +모든 원반을 옮기기 위해 실행되어야 할 최소 원반 이동 횟수를 계산하는 프로그램을 완성해 주세요. + +```jsx +const route = []; + +function hanoi(num, start, end, temp){ + //원판이 한 개일 때에는 바로 옮기면 됩니다. + if (num === 1) { + route.push([start, end]); + return NaN; + } + + //원반이 n-1개를 경유기둥으로 옮기고 + hanoi(//내용을 채워주세요.); + //가장 큰 원반은 목표기둥으로 + route.push(//내용을 채워주세요.); + //경유기둥과 시작기둥을 바꿉니다. + hanoi(//내용을 채워주세요.); +} + +hanoi(3, 'A', 'B', 'C'); +console.log(route); +console.log(route.length); +``` +*/ diff --git a/README.md b/README.md index a25f907..a65a077 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # JavaScript-Algorithm-Challenge +![알고리즘 첼린지 포스터](https://user-images.githubusercontent.com/85912592/171470808-dffbf327-ebbe-48a4-bc8c-2bce999cfd95.png) + ## 자바스크립트 알고리즘 첼린지! ### 문제 풀기