From 1e57c51369cfb11869eff356a50908c147521d7c Mon Sep 17 00:00:00 2001 From: Wang-yurin Date: Thu, 7 Jul 2022 09:19:14 +0900 Subject: [PATCH 01/30] =?UTF-8?q?Solve=20:=20027~030=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Challenge/YurinWang/027.object/README.md | 14 +++++++++ Challenge/YurinWang/027.object/solve.js | 22 ++++++++++++++ Challenge/YurinWang/028.2-gram/README.md | 23 ++++++++++++++ Challenge/YurinWang/028.2-gram/solve.js | 30 +++++++++++++++++++ .../README.md" | 5 ++++ .../solve.js" | 10 +++++++ Challenge/YurinWang/030.find-string/README.md | 15 ++++++++++ Challenge/YurinWang/030.find-string/solve.js | 19 ++++++++++++ 8 files changed, 138 insertions(+) create mode 100644 Challenge/YurinWang/027.object/README.md create mode 100644 Challenge/YurinWang/027.object/solve.js create mode 100644 Challenge/YurinWang/028.2-gram/README.md create mode 100644 Challenge/YurinWang/028.2-gram/solve.js create mode 100644 "Challenge/YurinWang/029.\353\214\200\353\254\270\354\236\220/README.md" create mode 100644 "Challenge/YurinWang/029.\353\214\200\353\254\270\354\236\220/solve.js" create mode 100644 Challenge/YurinWang/030.find-string/README.md create mode 100644 Challenge/YurinWang/030.find-string/solve.js 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..4fbcd3f --- /dev/null +++ b/Challenge/YurinWang/028.2-gram/solve.js @@ -0,0 +1,30 @@ +// # 문제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); 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)); From 3a1f305eb04d423cc1cf6d2341321c0737960e51 Mon Sep 17 00:00:00 2001 From: jsk3342 Date: Thu, 7 Jul 2022 22:02:12 +0900 Subject: [PATCH 02/30] =?UTF-8?q?Solve:=20041=20=EB=AC=B8=EC=A0=9C=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../solve.js" | 62 +++++++++++++++++++ .../solve.js" | 13 ++++ .../README.md" | 5 ++ .../solve.js" | 26 ++++++++ 4 files changed, 106 insertions(+) create mode 100644 "Challenge/JisuKim/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" create mode 100644 "Challenge/JisuKim/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" 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" index 9f4c8bf..aeb123b 100644 --- "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" @@ -27,3 +27,65 @@ arr.forEach((e,i) => { }) +// 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/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" index 5e7a5bd..ad45a36 100644 --- "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" @@ -22,3 +22,16 @@ 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 From a6d52759f95d4e5b85009e217b6afbd98e36a3ce Mon Sep 17 00:00:00 2001 From: Hyebin-Woo Date: Thu, 7 Jul 2022 23:28:11 +0900 Subject: [PATCH 03/30] =?UTF-8?q?Solve:=EB=AC=B8=EC=A0=9C22~24=EB=B2=88?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Challenge/hyebinWoo/022.multiple/README.md | 9 +++++++++ Challenge/hyebinWoo/022.multiple/solve.js | 13 +++++++++++++ Challenge/hyebinWoo/023.OX/README.md | 3 +++ Challenge/hyebinWoo/023.OX/solve.js | 7 +++++++ Challenge/hyebinWoo/024.toUpperCase/README.md | 12 ++++++++++++ Challenge/hyebinWoo/024.toUpperCase/solve.js | 16 ++++++++++++++++ 6 files changed, 60 insertions(+) create mode 100644 Challenge/hyebinWoo/022.multiple/README.md create mode 100644 Challenge/hyebinWoo/022.multiple/solve.js create mode 100644 Challenge/hyebinWoo/023.OX/README.md create mode 100644 Challenge/hyebinWoo/023.OX/solve.js create mode 100644 Challenge/hyebinWoo/024.toUpperCase/README.md create mode 100644 Challenge/hyebinWoo/024.toUpperCase/solve.js 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()); From f6af3dc98fccb32cb2ecced618fd34280d14752b Mon Sep 17 00:00:00 2001 From: Wang-yurin Date: Fri, 8 Jul 2022 14:47:33 +0900 Subject: [PATCH 04/30] =?UTF-8?q?Solve=20:=20031~033=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../YurinWang/031.timeComplexity/README.md | 9 +++++++ .../YurinWang/031.timeComplexity/solve.js | 13 ++++++++++ .../README.md" | 13 ++++++++++ .../solve.js" | 17 +++++++++++++ Challenge/YurinWang/033.Reverse/README.md | 13 ++++++++++ Challenge/YurinWang/033.Reverse/solve.js | 25 +++++++++++++++++++ 6 files changed, 90 insertions(+) create mode 100644 Challenge/YurinWang/031.timeComplexity/README.md create mode 100644 Challenge/YurinWang/031.timeComplexity/solve.js create mode 100644 "Challenge/YurinWang/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" create mode 100644 "Challenge/YurinWang/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" create mode 100644 Challenge/YurinWang/033.Reverse/README.md create mode 100644 Challenge/YurinWang/033.Reverse/solve.js 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); From ed6e42cc2cf3cf7eb120271f89fe3ac50c19c3ab Mon Sep 17 00:00:00 2001 From: Hyebin-Woo Date: Fri, 8 Jul 2022 23:59:07 +0900 Subject: [PATCH 05/30] =?UTF-8?q?Solve:25,26=EB=B2=88=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Challenge/hyebinWoo/025.circle-area/README.md | 8 +++++++ Challenge/hyebinWoo/025.circle-area/solve.js | 12 ++++++++++ Challenge/hyebinWoo/026.planet_2/README.md | 6 +++++ Challenge/hyebinWoo/026.planet_2/solve.js | 23 +++++++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 Challenge/hyebinWoo/025.circle-area/README.md create mode 100644 Challenge/hyebinWoo/025.circle-area/solve.js create mode 100644 Challenge/hyebinWoo/026.planet_2/README.md create mode 100644 Challenge/hyebinWoo/026.planet_2/solve.js 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에 변수가 포함되어 있으면 접근할 수 없다 From 364b3985fbe9df6a657f0cef2edc3ac50c5b7f00 Mon Sep 17 00:00:00 2001 From: Wang-yurin Date: Sat, 9 Jul 2022 13:26:49 +0900 Subject: [PATCH 06/30] =?UTF-8?q?Solve=20:=20034=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Challenge/YurinWang/034.Sort/README.md | 15 +++++++++++++ Challenge/YurinWang/034.Sort/solve.js | 29 ++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 Challenge/YurinWang/034.Sort/README.md create mode 100644 Challenge/YurinWang/034.Sort/solve.js 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!"); +} From 50a2b50280385a592c85518ed1e64f0337db0773 Mon Sep 17 00:00:00 2001 From: jsk3342 Date: Sat, 9 Jul 2022 19:26:08 +0900 Subject: [PATCH 07/30] =?UTF-8?q?Solve:=20042=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../JisuKim/042.2020\353\205\204/README.md" | 12 ++++++++++ .../JisuKim/042.2020\353\205\204/solve.js" | 23 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 "Challenge/JisuKim/042.2020\353\205\204/README.md" create mode 100644 "Challenge/JisuKim/042.2020\353\205\204/solve.js" 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 From a67558f6c58841f514723345a149237a0569be1b Mon Sep 17 00:00:00 2001 From: jisu-kim Date: Sun, 10 Jul 2022 18:02:37 +0900 Subject: [PATCH 08/30] =?UTF-8?q?Solve:=20043~044=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../solve.js" | 1 - .../solve.js" | 1 - .../README.md" | 6 ++++ .../solve.js" | 16 +++++++++ .../README.md" | 17 ++++++++++ .../solve.js" | 33 +++++++++++++++++++ 6 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 "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" create mode 100644 "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" create mode 100644 "Challenge/JisuKim/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/README.md" create mode 100644 "Challenge/JisuKim/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/solve.js" 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" index aeb123b..5e11fff 100644 --- "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" @@ -24,7 +24,6 @@ arr.forEach((e,i) => { count++; answer.push([e + count]) } - }) // function Cat(name, age) { 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" index ad45a36..6c2541b 100644 --- "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" @@ -23,7 +23,6 @@ ``` */ - const weightLimit = '100' const memberCount = '5' let count = 0; 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..0be6a53 --- /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,16 @@ +/* +# 문제43 : 10진수를 2진수로 + +우리가 흔히 사용하는 숫자 1, 8, 19, 28893 등등...은 10진수 체계입니다. +이를 컴퓨터가 알아 들을 수 있는 2진수로 바꾸려고 합니다. 어떻게 해야할까요? + +**사용자에게 숫자를 입력받고 이를 2진수를 바꾸고 그 값을 출력해주세요.** +*/ +const num = 18; + +function solution(num) { + const newNum = parseInt(num, 2); + console.log(parseInt(num, 2)); +} + +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 From 8089dd35c1ca2e99f8d794c219bed3c04eefc805 Mon Sep 17 00:00:00 2001 From: jisu-kim Date: Tue, 12 Jul 2022 20:07:34 +0900 Subject: [PATCH 09/30] =?UTF-8?q?Feat:=20045~049=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../solve.js" | 5 +++-- Problems/045.getTime/README.md | 17 +++++++++++++++++ Problems/045.getTime/solve.js | 19 +++++++++++++++++++ .../README.md" | 17 +++++++++++++++++ .../solve.js" | 19 +++++++++++++++++++ .../README.md" | 17 +++++++++++++++++ .../solve.js" | 19 +++++++++++++++++++ .../README.md" | 17 +++++++++++++++++ .../solve.js" | 19 +++++++++++++++++++ .../README.md" | 17 +++++++++++++++++ .../solve.js" | 8 ++++++++ 11 files changed, 172 insertions(+), 2 deletions(-) create mode 100644 Problems/045.getTime/README.md create mode 100644 Problems/045.getTime/solve.js create mode 100644 "Problems/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/README.md" create mode 100644 "Problems/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/solve.js" create mode 100644 "Problems/047.set\354\236\220\353\243\214\355\230\225\354\235\230_\354\235\221\354\232\251/README.md" create mode 100644 "Problems/047.set\354\236\220\353\243\214\355\230\225\354\235\230_\354\235\221\354\232\251/solve.js" create mode 100644 "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" create mode 100644 "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" create mode 100644 "Problems/049.\354\265\234\353\214\223\352\260\222_\352\265\254\355\225\230\352\270\260/README.md" create mode 100644 "Problems/049.\354\265\234\353\214\223\352\260\222_\352\265\254\355\225\230\352\270\260/solve.js" 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" index 0be6a53..6d72bbe 100644 --- "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" @@ -9,8 +9,9 @@ const num = 18; function solution(num) { - const newNum = parseInt(num, 2); - console.log(parseInt(num, 2)); + const newNum = num.toString(2); + console.log(newNum) + } solution(num) \ No newline at end of file diff --git a/Problems/045.getTime/README.md b/Problems/045.getTime/README.md new file mode 100644 index 0000000..c581b86 --- /dev/null +++ b/Problems/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/Problems/045.getTime/solve.js b/Problems/045.getTime/solve.js new file mode 100644 index 0000000..c650971 --- /dev/null +++ b/Problems/045.getTime/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/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..c581b86 --- /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,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/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..c650971 --- /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,19 @@ +/* +# 문제44 : 각 자리수의 합 + +**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 + +**예를들어** +18234 = 1+8+2+3+4 이고 정답은 18 입니다. +3849 = 3+8+4+9 이고 정답은 24입니다. + +```jsx +**입출력** + +입력 : 18234 +출력 : 18 + +입력 : 3849 +출력 : 24 +``` +*/ 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..c581b86 --- /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,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/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..c650971 --- /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,19 @@ +/* +# 문제44 : 각 자리수의 합 + +**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 + +**예를들어** +18234 = 1+8+2+3+4 이고 정답은 18 입니다. +3849 = 3+8+4+9 이고 정답은 24입니다. + +```jsx +**입출력** + +입력 : 18234 +출력 : 18 + +입력 : 3849 +출력 : 24 +``` +*/ 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..c581b86 --- /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,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/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..c650971 --- /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,19 @@ +/* +# 문제44 : 각 자리수의 합 + +**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 + +**예를들어** +18234 = 1+8+2+3+4 이고 정답은 18 입니다. +3849 = 3+8+4+9 이고 정답은 24입니다. + +```jsx +**입출력** + +입력 : 18234 +출력 : 18 + +입력 : 3849 +출력 : 24 +``` +*/ 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..c581b86 --- /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,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/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 From 90d6249db492dd9b8a79c32b8126ad067d11b2c5 Mon Sep 17 00:00:00 2001 From: jisu-kim Date: Tue, 12 Jul 2022 20:15:13 +0900 Subject: [PATCH 10/30] =?UTF-8?q?Add:=20045=EB=B2=88=20=ED=91=B8=EB=8A=94?= =?UTF-8?q?=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Challenge/JisuKim/045.getTime/README.md | 17 +++++++++++++++++ Challenge/JisuKim/045.getTime/solve.js | 7 +++++++ 2 files changed, 24 insertions(+) create mode 100644 Challenge/JisuKim/045.getTime/README.md create mode 100644 Challenge/JisuKim/045.getTime/solve.js 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(); From f8556b779783ba49d535b2fe69a4eeb82ccb79a8 Mon Sep 17 00:00:00 2001 From: Wang-yurin Date: Wed, 13 Jul 2022 16:54:24 +0900 Subject: [PATCH 11/30] =?UTF-8?q?Solve=20:=20035~036=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Challenge/YurinWang/035.function/README.md | 22 +++++++++++++ Challenge/YurinWang/035.function/solve.js | 31 +++++++++++++++++++ .../036.Multiplication_Table/README.md | 10 ++++++ .../036.Multiplication_Table/solve.js | 19 ++++++++++++ 4 files changed, 82 insertions(+) create mode 100644 Challenge/YurinWang/035.function/README.md create mode 100644 Challenge/YurinWang/035.function/solve.js create mode 100644 Challenge/YurinWang/036.Multiplication_Table/README.md create mode 100644 Challenge/YurinWang/036.Multiplication_Table/solve.js 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); From 9bb2bee6ae9b6477fc5130e7e7fc0185202d43c9 Mon Sep 17 00:00:00 2001 From: Wang-yurin Date: Fri, 15 Jul 2022 22:58:09 +0900 Subject: [PATCH 12/30] =?UTF-8?q?Solve=20:=20037~039=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 11 +++++++ .../solve.js" | 32 +++++++++++++++++++ .../README.md" | 13 ++++++++ .../solve.js" | 32 +++++++++++++++++++ .../README.md" | 18 +++++++++++ .../solve.js" | 23 +++++++++++++ 6 files changed, 129 insertions(+) create mode 100644 "Challenge/YurinWang/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" create mode 100644 "Challenge/YurinWang/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" create mode 100644 "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" create mode 100644 "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" create mode 100644 "Challenge/YurinWang/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" create mode 100644 "Challenge/YurinWang/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" 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")); From cafd7d1fbf2e7c35ab2f33a7a9db2b9c39a71dfb Mon Sep 17 00:00:00 2001 From: Wang-yurin Date: Sat, 16 Jul 2022 13:11:51 +0900 Subject: [PATCH 13/30] =?UTF-8?q?Solve=20:=20040=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 22 +++++++++++ .../solve.js" | 37 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 "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" create mode 100644 "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" 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..8449325 --- /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); From 6cad14c27cf35290ad4bc1db816a7f77c7b16e80 Mon Sep 17 00:00:00 2001 From: Wang-yurin Date: Sat, 16 Jul 2022 13:13:54 +0900 Subject: [PATCH 14/30] =?UTF-8?q?Solve=20:=20040=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../solve.js" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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" index 8449325..cb6c2f1 100644 --- "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" @@ -28,9 +28,9 @@ const person = 5; let count = 0; let totalWeight = 0; -for (let i = 0; i <= person; i++) { +for (let i = 0; i < person; i++) { totalWeight = totalWeight + Number(prompt("몸무게를 입력해주세요.")); - if (totalWeight < limitWeight) { + if (totalWeight <= limitWeight) { count++; } } From 5f8b0d302402a5fbb74e4ea48ebfbabb6f3cbde7 Mon Sep 17 00:00:00 2001 From: Dayhun Date: Tue, 19 Jul 2022 19:07:44 +0900 Subject: [PATCH 15/30] =?UTF-8?q?Solve:=2028=EB=B2=88=EB=AC=B8=EC=A0=9C=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Challenge/DahyunLim/028.2-gram/README.md | 23 +++++++++++++++++ Challenge/DahyunLim/028.2-gram/solve.js | 32 ++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 Challenge/DahyunLim/028.2-gram/README.md create mode 100644 Challenge/DahyunLim/028.2-gram/solve.js 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 From 58c9a1de2b9adf1120f6e517a79956d179901f11 Mon Sep 17 00:00:00 2001 From: Wang-yurin Date: Thu, 21 Jul 2022 14:23:07 +0900 Subject: [PATCH 16/30] =?UTF-8?q?Solve=20:=20041~042=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 5 ++++ .../solve.js" | 16 ++++++++++++ .../YurinWang/042.2020\353\205\204/README.md" | 12 +++++++++ .../YurinWang/042.2020\353\205\204/solve.js" | 26 +++++++++++++++++++ 4 files changed, 59 insertions(+) create mode 100644 "Challenge/YurinWang/041.\354\206\214\354\210\230\355\214\220\353\263\204/README.md" create mode 100644 "Challenge/YurinWang/041.\354\206\214\354\210\230\355\214\220\353\263\204/solve.js" create mode 100644 "Challenge/YurinWang/042.2020\353\205\204/README.md" create mode 100644 "Challenge/YurinWang/042.2020\353\205\204/solve.js" 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); From 263604a9a4a09eda5a6c04e195afa97ae5957301 Mon Sep 17 00:00:00 2001 From: Wang-yurin Date: Sat, 23 Jul 2022 21:13:34 +0900 Subject: [PATCH 17/30] =?UTF-8?q?Solve=20:=20043~044=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 6 +++++ .../solve.js" | 10 +++++++ .../README.md" | 17 ++++++++++++ .../solve.js" | 26 +++++++++++++++++++ 4 files changed, 59 insertions(+) create mode 100644 "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" create mode 100644 "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" create mode 100644 "Challenge/YurinWang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/README.md" create mode 100644 "Challenge/YurinWang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/solve.js" 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); From c15e864567aad4b9f5ba757272615e70fcf7155a Mon Sep 17 00:00:00 2001 From: wang-yurin Date: Fri, 29 Jul 2022 12:16:19 +0900 Subject: [PATCH 18/30] =?UTF-8?q?Docs=20:=20045~049=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Problems/045.getTime/README.md | 18 ++---------- Problems/045.getTime/solve.js | 18 ++---------- .../README.md" | 19 +++---------- .../solve.js" | 19 +++---------- .../README.md" | 28 ++++++++++--------- .../solve.js" | 26 +++++++++-------- .../README.md" | 19 ++++--------- .../solve.js" | 17 ++++------- .../README.md" | 19 ++++--------- 9 files changed, 60 insertions(+), 123 deletions(-) diff --git a/Problems/045.getTime/README.md b/Problems/045.getTime/README.md index c581b86..6ce968a 100644 --- a/Problems/045.getTime/README.md +++ b/Problems/045.getTime/README.md @@ -1,17 +1,5 @@ -# 문제44 : 각 자리수의 합 +# 문제45 : getTime()함수 사용하기 -**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 +Date객체의 메소드 중 하나인 getTime()은 1970년 1월 1일 0시 0분 0초 이후로부터 지금까지 흐른 시간을 천분의 1초 단위(ms)로 반환합니다. -**예를들어** -18234 = 1+8+2+3+4 이고 정답은 18 입니다. -3849 = 3+8+4+9 이고 정답은 24입니다. - -```jsx -**입출력** - -입력 : 18234 -출력 : 18 - -입력 : 3849 -출력 : 24 -``` \ No newline at end of file +이를 이용하여 **현재 연도(2019)를 출력해보세요.** diff --git a/Problems/045.getTime/solve.js b/Problems/045.getTime/solve.js index c650971..5661cf0 100644 --- a/Problems/045.getTime/solve.js +++ b/Problems/045.getTime/solve.js @@ -1,19 +1,7 @@ /* -# 문제44 : 각 자리수의 합 +# 문제45 : getTime()함수 사용하기 -**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 +Date객체의 메소드 중 하나인 getTime()은 1970년 1월 1일 0시 0분 0초 이후로부터 지금까지 흐른 시간을 천분의 1초 단위(ms)로 반환합니다. -**예를들어** -18234 = 1+8+2+3+4 이고 정답은 18 입니다. -3849 = 3+8+4+9 이고 정답은 24입니다. - -```jsx -**입출력** - -입력 : 18234 -출력 : 18 - -입력 : 3849 -출력 : 24 -``` +이를 이용하여 **현재 연도(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" index c581b86..ece3532 100644 --- "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" @@ -1,17 +1,6 @@ -# 문제44 : 각 자리수의 합 +# 문제46 : 각 자리수의 합 2 -**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 +1부터 20까지의(20을 포함) 모든 숫자를 일렬로 놓고 모든 자릿수의 총 합을 구하세요. -**예를들어** -18234 = 1+8+2+3+4 이고 정답은 18 입니다. -3849 = 3+8+4+9 이고 정답은 24입니다. - -```jsx -**입출력** - -입력 : 18234 -출력 : 18 - -입력 : 3849 -출력 : 24 -``` \ No newline at end of file +예를 들어 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" index c650971..747af4c 100644 --- "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" @@ -1,19 +1,8 @@ /* -# 문제44 : 각 자리수의 합 +# 문제46 : 각 자리수의 합 2 -**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 +1부터 20까지의(20을 포함) 모든 숫자를 일렬로 놓고 모든 자릿수의 총 합을 구하세요. -**예를들어** -18234 = 1+8+2+3+4 이고 정답은 18 입니다. -3849 = 3+8+4+9 이고 정답은 24입니다. - -```jsx -**입출력** - -입력 : 18234 -출력 : 18 - -입력 : 3849 -출력 : 24 -``` +예를 들어 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" index c581b86..3e6cf03 100644 --- "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" @@ -1,17 +1,19 @@ -# 문제44 : 각 자리수의 합 +# 문제47 : set 자료형의 응용 -**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 +바울랩에서는 3월 29일 제주대학교에서 '제주 빅데이터 사회혁신 해커톤' 행사를 주최하게 되었습니다. 이에 구글 설문지를 배포하였으나 제주대학생들이 중복해서 n개씩 설문지를 제출하였습니다. -**예를들어** -18234 = 1+8+2+3+4 이고 정답은 18 입니다. -3849 = 3+8+4+9 이고 정답은 24입니다. +**중복된 데이터들을 삭제하여 실제 접수 명단이 몇 명인지 알고 싶습니다.** -```jsx -**입출력** - -입력 : 18234 -출력 : 18 +아래 주어진 데이터들로부터 중복을 제거하여 **실제 접수 인원을 출력**해 주세요. -입력 : 3849 -출력 : 24 -``` \ No newline at end of file +```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" index c650971..0f17c3f 100644 --- "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" @@ -1,19 +1,21 @@ /* -# 문제44 : 각 자리수의 합 +# 문제47 : set 자료형의 응용 -**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 +바울랩에서는 3월 29일 제주대학교에서 '제주 빅데이터 사회혁신 해커톤' 행사를 주최하게 되었습니다. 이에 구글 설문지를 배포하였으나 제주대학생들이 중복해서 n개씩 설문지를 제출하였습니다. -**예를들어** -18234 = 1+8+2+3+4 이고 정답은 18 입니다. -3849 = 3+8+4+9 이고 정답은 24입니다. +**중복된 데이터들을 삭제하여 실제 접수 명단이 몇 명인지 알고 싶습니다.** -```jsx -**입출력** - -입력 : 18234 -출력 : 18 +아래 주어진 데이터들로부터 중복을 제거하여 **실제 접수 인원을 출력**해 주세요. -입력 : 3849 -출력 : 24 +```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" index c581b86..e5df8bb 100644 --- "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" @@ -1,17 +1,10 @@ -# 문제44 : 각 자리수의 합 +# 문제48 : 대소문자 바꿔서 출력하기 -**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 - -**예를들어** -18234 = 1+8+2+3+4 이고 정답은 18 입니다. -3849 = 3+8+4+9 이고 정답은 24입니다. +문자열이 주어지면 대문자와 소문자를 바꿔서 출력하는 프로그램을 작성하세요. ```jsx -**입출력** - -입력 : 18234 -출력 : 18 +입출력; -입력 : 3849 -출력 : 24 -``` \ No newline at end of file +입력: 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" index c650971..aacb6e7 100644 --- "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" @@ -1,19 +1,12 @@ /* -# 문제44 : 각 자리수의 합 +# 문제48 : 대소문자 바꿔서 출력하기 -**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 - -**예를들어** -18234 = 1+8+2+3+4 이고 정답은 18 입니다. -3849 = 3+8+4+9 이고 정답은 24입니다. +문자열이 주어지면 대문자와 소문자를 바꿔서 출력하는 프로그램을 작성하세요. ```jsx -**입출력** - -입력 : 18234 -출력 : 18 +입출력 -입력 : 3849 -출력 : 24 +입력 : 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" index c581b86..75561b7 100644 --- "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" @@ -1,17 +1,10 @@ -# 문제44 : 각 자리수의 합 +# 문제49 : 최댓값 구하기 -**사용자가 입력한 양의 정수의 각 자리수의 합을 구하는 프로그램**을 만들어주세요 - -**예를들어** -18234 = 1+8+2+3+4 이고 정답은 18 입니다. -3849 = 3+8+4+9 이고 정답은 24입니다. +순서가 없는 10개의 숫자가 공백으로 구분되어 주어진다. 주어진 숫자들 중 최댓값을 반환하라. ```jsx -**입출력** - -입력 : 18234 -출력 : 18 +입출력 -입력 : 3849 -출력 : 24 -``` \ No newline at end of file +입력 : 10 9 8 7 6 5 4 3 2 1 +출력 : 10 +``` From 14c65d7fef059c9c4021dc046170c06fcfc3ac95 Mon Sep 17 00:00:00 2001 From: wang-yurin Date: Fri, 29 Jul 2022 12:34:23 +0900 Subject: [PATCH 19/30] =?UTF-8?q?Feat=20:=20050~055=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 26 ++++++++++ .../solve.js" | 29 +++++++++++ Problems/051.merge_sort/README.md | 50 ++++++++++++++++++ Problems/051.merge_sort/solve.js | 51 +++++++++++++++++++ Problems/052.quick_sort/README.md | 28 ++++++++++ Problems/052.quick_sort/solve.js | 30 +++++++++++ .../README.md" | 8 +++ .../solve.js" | 10 ++++ .../README.md" | 21 ++++++++ .../solve.js" | 23 +++++++++ .../README.md" | 35 +++++++++++++ .../solve.js" | 38 ++++++++++++++ 12 files changed, 349 insertions(+) create mode 100644 "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" create mode 100644 "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" create mode 100644 Problems/051.merge_sort/README.md create mode 100644 Problems/051.merge_sort/solve.js create mode 100644 Problems/052.quick_sort/README.md create mode 100644 Problems/052.quick_sort/solve.js create mode 100644 "Problems/053.\352\264\204\355\230\270_\353\254\270\354\236\220\354\227\264/README.md" create mode 100644 "Problems/053.\352\264\204\355\230\270_\353\254\270\354\236\220\354\227\264/solve.js" create mode 100644 "Problems/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/README.md" create mode 100644 "Problems/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/solve.js" create mode 100644 "Problems/055.\355\225\230\353\205\270\354\235\264\354\235\230_\355\203\221/README.md" create mode 100644 "Problems/055.\355\225\230\353\205\270\354\235\264\354\235\230_\355\203\221/solve.js" 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); +``` +*/ From d3c3d9f634cc71edb5dce8aed82f51c950caa6b4 Mon Sep 17 00:00:00 2001 From: Lim Heelae Date: Thu, 4 Aug 2022 19:12:40 +0900 Subject: [PATCH 20/30] Solve: 051 --- Challenge/HeelaeLim/051.MergeSort/README.md | 54 ++++++++++++ Challenge/HeelaeLim/051.MergeSort/solve.js | 93 +++++++++++++++++++++ 2 files changed, 147 insertions(+) create mode 100644 Challenge/HeelaeLim/051.MergeSort/README.md create mode 100644 Challenge/HeelaeLim/051.MergeSort/solve.js 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)); From 7e678a09d773a82a2337488813aab3599ac3e89f Mon Sep 17 00:00:00 2001 From: wang-yurin Date: Thu, 4 Aug 2022 20:50:39 +0900 Subject: [PATCH 21/30] =?UTF-8?q?Solve=20:=20045=EB=B2=88,=20050~052?= =?UTF-8?q?=EB=B2=88=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Challenge/YurinWang/045.getTime/README.md | 5 ++ Challenge/YurinWang/045.getTime/solve.js | 11 ++++ .../README.md" | 26 ++++++++++ .../solve.js" | 31 +++++++++++ Challenge/YurinWang/051.merge_sort/README.md | 50 ++++++++++++++++++ Challenge/YurinWang/051.merge_sort/solve.js | 51 +++++++++++++++++++ Challenge/YurinWang/052.quick_sort/README.md | 28 ++++++++++ Challenge/YurinWang/052.quick_sort/solve.js | 31 +++++++++++ 8 files changed, 233 insertions(+) create mode 100644 Challenge/YurinWang/045.getTime/README.md create mode 100644 Challenge/YurinWang/045.getTime/solve.js create mode 100644 "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" create mode 100644 "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" create mode 100644 Challenge/YurinWang/051.merge_sort/README.md create mode 100644 Challenge/YurinWang/051.merge_sort/solve.js create mode 100644 Challenge/YurinWang/052.quick_sort/README.md create mode 100644 Challenge/YurinWang/052.quick_sort/solve.js 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/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)); From f9d16c1f0c950ee1a2b1b52ce1a33f3460c0c391 Mon Sep 17 00:00:00 2001 From: wang-yurin Date: Fri, 5 Aug 2022 19:29:33 +0900 Subject: [PATCH 22/30] =?UTF-8?q?Solve=20:=20054=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 21 +++++++++++ .../solve.js" | 37 +++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 "Challenge/YurinWang/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/README.md" create mode 100644 "Challenge/YurinWang/054.\354\227\260\354\206\215\353\220\230\353\212\224_\354\210\230/solve.js" 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)); From 5952440224c3308d58b5a7bb3541a933bea0784c Mon Sep 17 00:00:00 2001 From: Lim Heelae Date: Sat, 13 Aug 2022 02:06:58 +0900 Subject: [PATCH 23/30] Solve: 052, 053 --- Challenge/HeelaeLim/052.QuickSort/README.md | 28 ++++++++ Challenge/HeelaeLim/052.QuickSort/solve.js | 53 +++++++++++++++ Challenge/HeelaeLim/053.Parenthesis/README.md | 8 +++ Challenge/HeelaeLim/053.Parenthesis/solve.js | 66 +++++++++++++++++++ 4 files changed, 155 insertions(+) create mode 100644 Challenge/HeelaeLim/052.QuickSort/README.md create mode 100644 Challenge/HeelaeLim/052.QuickSort/solve.js create mode 100644 Challenge/HeelaeLim/053.Parenthesis/README.md create mode 100644 Challenge/HeelaeLim/053.Parenthesis/solve.js 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 From 38ffd02b49006658a8e0dc05489623fd95eaa6a4 Mon Sep 17 00:00:00 2001 From: Dayhun Date: Sat, 20 Aug 2022 22:51:24 +0900 Subject: [PATCH 24/30] =?UTF-8?q?Solve:=2029=EB=B2=88=20=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 5 +++++ .../solve.js" | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 "Challenge/DahyunLim/029.\353\214\200\353\254\270\354\236\220/README.md" create mode 100644 "Challenge/DahyunLim/029.\353\214\200\353\254\270\354\236\220/solve.js" 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) From 121b84bee6bd630509bf429a347e871b5f4efbde Mon Sep 17 00:00:00 2001 From: Hyebin-Woo Date: Sat, 20 Aug 2022 23:53:33 +0900 Subject: [PATCH 25/30] =?UTF-8?q?Solve:27~30=EB=AC=B8=EC=A0=9C=ED=95=B4?= =?UTF-8?q?=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Challenge/hyebinWoo/027.object/README.md | 14 ++++++++++ Challenge/hyebinWoo/027.object/solve.js | 21 +++++++++++++++ Challenge/hyebinWoo/028.2-gram/README.md | 23 ++++++++++++++++ Challenge/hyebinWoo/028.2-gram/solve.js | 27 +++++++++++++++++++ .../README.md" | 5 ++++ .../solve.js" | 13 +++++++++ Challenge/hyebinWoo/030.find-string/README.md | 15 +++++++++++ Challenge/hyebinWoo/030.find-string/solve.js | 20 ++++++++++++++ 8 files changed, 138 insertions(+) create mode 100644 Challenge/hyebinWoo/027.object/README.md create mode 100644 Challenge/hyebinWoo/027.object/solve.js create mode 100644 Challenge/hyebinWoo/028.2-gram/README.md create mode 100644 Challenge/hyebinWoo/028.2-gram/solve.js create mode 100644 "Challenge/hyebinWoo/029.\353\214\200\353\254\270\354\236\220/README.md" create mode 100644 "Challenge/hyebinWoo/029.\353\214\200\353\254\270\354\236\220/solve.js" create mode 100644 Challenge/hyebinWoo/030.find-string/README.md create mode 100644 Challenge/hyebinWoo/030.find-string/solve.js 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)); From 56b24ae06f786a211dedd87fdb14991dbb66f158 Mon Sep 17 00:00:00 2001 From: Hyebin-Woo Date: Sun, 21 Aug 2022 20:19:44 +0900 Subject: [PATCH 26/30] =?UTF-8?q?=20Solve:31~35=EB=B2=88=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hyebinWoo/031.timeComplexity/README.md | 9 +++++ .../hyebinWoo/031.timeComplexity/solve.js | 14 +++++++ .../README.md" | 13 +++++++ .../solve.js" | 17 +++++++++ Challenge/hyebinWoo/033.Reverse/README.md | 13 +++++++ Challenge/hyebinWoo/033.Reverse/solve.js | 16 ++++++++ Challenge/hyebinWoo/034.Sort/README.md | 15 ++++++++ Challenge/hyebinWoo/034.Sort/solve.js | 24 ++++++++++++ Challenge/hyebinWoo/035.function/README.md | 22 +++++++++++ Challenge/hyebinWoo/035.function/solve.js | 38 +++++++++++++++++++ 10 files changed, 181 insertions(+) create mode 100644 Challenge/hyebinWoo/031.timeComplexity/README.md create mode 100644 Challenge/hyebinWoo/031.timeComplexity/solve.js create mode 100644 "Challenge/hyebinWoo/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/README.md" create mode 100644 "Challenge/hyebinWoo/032.\353\254\270\354\236\220\354\227\264\353\247\214\353\223\244\352\270\260/solve.js" create mode 100644 Challenge/hyebinWoo/033.Reverse/README.md create mode 100644 Challenge/hyebinWoo/033.Reverse/solve.js create mode 100644 Challenge/hyebinWoo/034.Sort/README.md create mode 100644 Challenge/hyebinWoo/034.Sort/solve.js create mode 100644 Challenge/hyebinWoo/035.function/README.md create mode 100644 Challenge/hyebinWoo/035.function/solve.js 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)); From 55aae1a8ef105d8fa4ff0df0409a6d733e18ebef Mon Sep 17 00:00:00 2001 From: Hyebin-Woo Date: Tue, 23 Aug 2022 17:12:49 +0900 Subject: [PATCH 27/30] Solve:36~40 --- .../036.Multiplication_Table/README.md | 10 +++++ .../036.Multiplication_Table/solve.js | 20 ++++++++++ .../README.md" | 11 ++++++ .../solve.js" | 28 ++++++++++++++ .../README.md" | 13 +++++++ .../solve.js" | 34 +++++++++++++++++ .../README.md" | 18 +++++++++ .../solve.js" | 22 +++++++++++ .../README.md" | 22 +++++++++++ .../solve.js" | 37 +++++++++++++++++++ 10 files changed, 215 insertions(+) create mode 100644 Challenge/hyebinWoo/036.Multiplication_Table/README.md create mode 100644 Challenge/hyebinWoo/036.Multiplication_Table/solve.js create mode 100644 "Challenge/hyebinWoo/037.\353\260\230\354\236\245_\354\204\240\352\261\260/README.md" create mode 100644 "Challenge/hyebinWoo/037.\353\260\230\354\236\245_\354\204\240\352\261\260/solve.js" create mode 100644 "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" create mode 100644 "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" create mode 100644 "Challenge/hyebinWoo/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/README.md" create mode 100644 "Challenge/hyebinWoo/039.\354\230\244\355\203\200_\354\210\230\354\240\225\355\225\230\352\270\260/solve.js" create mode 100644 "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" create mode 100644 "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" 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); From 069bf12e23e10821853f144e25a733cee5228434 Mon Sep 17 00:00:00 2001 From: plutoin Date: Tue, 23 Aug 2022 23:39:29 +0900 Subject: [PATCH 28/30] =?UTF-8?q?Solve:=2044=EB=B2=88=20=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 17 +++++++++++ .../solve.js" | 29 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 "Challenge/SoyeonJang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/README.md" create mode 100644 "Challenge/SoyeonJang/044.\352\260\201_\354\236\220\353\246\254\354\210\230\354\235\230_\355\225\251/solve.js" 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); From 8c641e1ffd64bfaf4d2d7576f3638bc1fa69d1d3 Mon Sep 17 00:00:00 2001 From: wang-yurin Date: Wed, 31 Aug 2022 16:39:09 +0900 Subject: [PATCH 29/30] =?UTF-8?q?Solve=20:=20028=20=EB=AC=B8=EC=A0=9C=20?= =?UTF-8?q?=EB=8B=B5=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Challenge/YurinWang/028.2-gram/solve.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Challenge/YurinWang/028.2-gram/solve.js b/Challenge/YurinWang/028.2-gram/solve.js index 4fbcd3f..01ce6af 100644 --- a/Challenge/YurinWang/028.2-gram/solve.js +++ b/Challenge/YurinWang/028.2-gram/solve.js @@ -19,12 +19,20 @@ // 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++) { - for (j = i; j < i + 1; j++) { - str += `${arr[i]} ${arr[i + 1]}`; - } + str += `${arr[i]} ${arr[i + 1]}`; str += "\n"; } console.log(str); From 4233e2c29fcc29ae137388c0a6b98cbb5aad3f7d Mon Sep 17 00:00:00 2001 From: wang-yurin Date: Fri, 7 Oct 2022 21:53:41 +0900 Subject: [PATCH 30/30] =?UTF-8?q?Solve=20:=20046=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 6 +++++ .../solve.js" | 24 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 "Challenge/YurinWang/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/README.md" create mode 100644 "Challenge/YurinWang/046.\352\260\201_\354\236\220\353\246\254\354\210\230_\355\225\2512/solve.js" 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);