11_countCharacter
let output = countCharacter('I am a hacker', 'a');
console.log(output); // --> 3
๋ฌธ์์ด๊ณผ ๋ฌธ์๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ฌธ์์ด์์ ๋ฌธ์(letter)๊ฐ ๋ฑ์ฅํ๋ ํ์๋ฅผ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
function countCharacter(str, letter) {
let result = 0
for (let i = 0; i <= str.length; i++){
if (str[i]===letter){
result++
}
}
return result
}
12_getMaxNumberFromString
let output = getMaxNumberFromString('53862');
console.log(output); // --> '8'
output = getMaxNumberFromString('4321');
console.log(output); // --> '4'
์ซ์ ๋ฌธ์์ด์ ์ ๋ ฅ๋ฐ์ ๋ฌธ์์ด์ ๊ตฌ์ฑํ๋ ๊ฐ ์ซ์ ์ค ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ํ๋ด๋ ์ซ์๋ฅผ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
+str.split ์ด์ฉํด์ ๊ตฌํด๋ณด๊ธฐ
์๋ ๋ต (str.split ์ด์ฉx) ์์ฑํด๋ณด๊ธฐ <์คํจ1>
function getMaxNumberFromString(str) {
//string ํ์
๋ฆฌํด
//๋ฌธ์์ดstr[i] ์ด์ฉ, ๊ฐ์ฅ ํฐ ์ ์ฐพ์ ๋ฆฌํด (์ซ์ ๋น๊ต)
// ์ฒซ๋ฒ์งธ ๋ฌธ์์ด์ด ๋๋ฒ์งธ ๋ฌธ์์ด๋ณด๋ค ์์ผ๋ฉด
// - ๋ ๋ฒ์งธ ๋ฌธ์์ด๊ณผ ์ธ ๋ฒ์งธ ๋ฌธ์์ด ๋น๊ตํด์ ์์ผ๋ฉด
// - ์ธ ๋ฒ์งธ ๋ฌธ์์ด๊ณผ ๋ค ๋ฒ์งธ ๋ฌธ์์ด ๋น๊ตํด์ ํฌ๋ฉด
// - `` ๋ค์ฏ ๋ฒ์งธ ๋ฌธ์์ด ~ ๋๊น์ง ๋น๊ต
// 1 < 2 - 2 < 3 - 3 < 4 - 3 > 5 - 3 < 6 - 6 < 7
// ๋ฌธ์์ดn๊ณผ n๋ค์์ ๋ฌธ์์ดn๋ฒ์งธ(j)๊น์ง ๋น๊ต
let i = 0;
let j = i + 1
let largest = '';
for (let i = 0; i<=str.length; i++){
if (str[i] < str[j]){
return str[j]
} else if (str[i] > str[j]){
return str[i]
}
}
}
1234๋ฅผ ์ ๋ ฅํ๋ฉด 2๊ฐ ์ถ๋ ฅ.. 2๊ฐ ์ด์์ ์ ๊ฐ๋ค๋ ๊ฑฐ๊ณ ๋ฐ๋ณต๋ฌธ ์คํด์ ์๋๋ค๋๊ฑด๋ฐ
๋ฐ๋ณต๋ฌธ์ ๋ํ ์ดํด๊ฐ ๋ถ์กฑํ ๊ฑฐ ๊ฐ๋ค ใ .ใ
<์คํจ2>
function getMaxNumberFromString(str) {
if (str === ''){return '0'}
let i = 0;
let j = i + 1
let largest = '';
for (let i = 0; i<str.length; i++){
if (str[i] < str[j]){
largest= str[j]
} else if (str[i] > str[j]){
largest = str[i]
}
}
return largest
}
์์ ํ ์ฝ๋. ๊ทผ๋ฐ ์ฌ์ ํ ํ๋๋ฅผ ์ถ๋ ฅ ๋ชป ํ๋ค. ใ ใ 12375๋ฅผ ์ถ๋ ฅํ๋๋ฐ ์.. 5๊ฐ ์ถ๋ ฅ ๋๋์ง?
๊ทผ๋ฐ ์ฐ๋ฉด์ ์๊ฐํ๋ค. ๋ด๊ฐ ์ ์ str[i],,๊ฐ ๊ณผ์ฐ ๋น๊ต๋ฅผ ํ ์ ์๋? ์ค๋ค ๋ค ์ซ์์ฌ์ผ ๋น๊ต๊ฐ ๋๋๋ฐ..!
๊ทธ๊ฒ๋ ์์ ํ๊ณ ์ด๊ฒ์ ๊ฒ ์์ ํด์ ๊ฒจ์ฐ ์ฐพ์ ๋ต..
function getMaxNumberFromString(str) {
let max = 0;
for (let i = 0; i<str.length; i++){
if (max < parseInt(str[i])){
max = parseInt(str[i])
}
}
return String(max)
}
์ด ๋น๊ตํ๋ ๋ถ๋ถ์ ๋ํ ์ดํด๋ฅผ ํ์คํ ๋จธ๋ฆฌ์ ๋ฃ๊ณ ๊ฐ์ผํ ๊ฑฐ ๊ฐ์.. ใ ใ
+str.split ์ด์ฉํด์ ํ์ด๋ณด๊ธฐ
function getMaxNumberFromString(str) {
if (str === ''){return '0'}
var result = str.split('').map(Number)
return `${Math.max.apply(null,result)}`
}
์ด์ฐ ์ ์ฐ ํด์ ๋๋ค.. ์ด๊ฒ ๋ง๋์ง๋ ๋ชจ๋ฅด์ง๋ง ๊ฒฐ๊ณผ๋ ๋์ด!
์ฒซ์ค์ ๋น๋ฌธ์์ด์ผ ๋ 0 ์ถ๋ ฅํ๋ ๊ฑฐ ๋ฃ์ด์ฃผ๊ณ ,
str.split์ ์ด์ฉํด์ ๋ถํ ํ๋ฉด ๋ฌธ์์ด๋ก ๋์ค๋๋ฐ, ์ด๊ฑธ ์ซ์๋ก ๋ฐ๊ฟ์ฃผ๋๊ฒ .map(Number)
๊ทธ๋ฆฌ๊ณ ๊ทธ ์ซ์๋ฐฐ์ด ์ค์ ์ต๋๊ฐ ์ถ๋ ฅํ๋ ํจ์ Math.max ์ด์ฉํ๋ค.
์คํธ๋ง์ผ๋ก ์ถ๋ ฅํด์ผ ๋๊ธฐ ๋๋ฌธ์ `${}` ์ฌ์ฉ..
13_replaceAll
๋ฌธ์์ด๊ณผ ๋ ๊ฐ์ ๋ฌธ์(from, to)๋ฅผ ์ ๋ ฅ๋ฐ์, ๋ฌธ์์ด์ ๋ฑ์ฅํ๋ ํน์ ๋ฌธ์(from)๊ฐ ๋ค๋ฅธ ๋ฌธ์(to)๋ก ๋ฐ๋ ๋ฌธ์์ด์ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
function replaceAll(str, from, to) {
// ๋ฌธ์์ด์ ํ์ํด from ๊ฐ์ ์ฐพ๋๋ค
// from ๊ณผ ๊ฐ์ ๋ฌธ์๋ to๋ฅผ ๋ฃ๋๋ค (result += to)
// from๊ณผ ๋ค๋ฅธ ๋ฌธ์๋ ๊ทธ๋๋ก ์ถ๋ ฅ (result += str[i])
let result = '';
for (let i = 0; i<str.length; i++){
if(str[i] !== from){
result = result + str[i]
} else if (str[i] === from){
result = result + to
}
}
return result
}
result = result + to ๋ถ๋ถ์ ์ ์ดํด๋ฅผ ๋ชปํด์..
์๊พธ ๊ทธ ๋์ด์ ๋ํ ๊ฐ๋ ์ด ํ๋ฆฟํ๋ฆฟ..
14_characterAndNumber
let output = characterAndNumber('hello');
console.log(output); // --> 'h0e1l2l3o4'
๋ฌธ์์ด์ ์ ๋ ฅ๋ฐ์ ๊ฐ ๋ฌธ์(letter) ๋ค์ ํด๋น ๋ฌธ์์ ์ธ๋ฑ์ค๊ฐ ์ถ๊ฐ๋ ๋ฌธ์์ด์ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
function characterAndNumber(word) {
// ๋น ๋ฌธ์์ด์ผ ๋, ๋น ๋ฌธ์์ด ๋ฆฌํด
// ๋ฌธ์์ด+์ซ์i
let result = '';
for (let i = 0; i<word.length; i++){
result = result + word[i] + i
}
return result
}
์์์ ์ข ํ๋ค๊ณ ๊ธ๋ฐฉ ์ฑ๊ณต
15_computePower
let output = computePower(2, 3);
console.log(output); // --> 8
๋ฐ(base)๊ณผ ์ง์(exponent)๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ฐ์ ๊ฑฐ๋ญ์ ๊ณฑ์ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
- number ํ์ ์ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
- ๋ฐ๋ณต๋ฌธ(for)๋ฌธ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
- Math.pow, ๊ฑฐ๋ญ์ ๊ณฑ ์ฐ์ฐ์ ์ฌ์ฉ์ ๊ธ์ง๋ฉ๋๋ค. (๊ฑฐ๋ญ์ ๊ณฑ์ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ค ๋ด์ฅ ๊ฐ์ฒด์ธ Math ๊ฐ์ฒด๋ฅผ ํตํด ์ฝ๊ฒ ๊ตฌํ ์ ์์ต๋๋ค.)
function computePower(base, exponent) {
return Math.pow(base, exponent)
}
์ฐ์ง๋ง๋ฌ๋๋ฐ ๊ทธ๋ฅ ์จ๋ด..
function computePower(base, exponent) {
// ๋ฐ์ ์ง์๋งํผ ๊ณฑํ๋ค base * base * base ... * base (exponent๊ฐ)
let result = 1;
for (let i = 0; i<exponent; i++){
result = result * base
}
return result
}
์ฒ์๊ฐ result = 0 ์ผ๋ก ์ก์๋ค๊ฐ ๋ชจ๋ ๋ต์ด 0์ผ๋ก ๋์์ ์์ ..^^ ๊ทธ๋ฌ๋๋ ์ซ์๊ฐ ํ๋ ํฌ๊ฒ ๋์๋๋
<= ์ด๊ฑธ < ๋ก ๋ฐ๊พธ์ด์ฃผ์๋๋ ์ผ๋จ๊ฒฐ์ ์ฑ๊ณตํ๋ค......
16_getSumOfFactors
let output = getSumOfFactors(8);
console.log(output); // --> 15 (1 + 2 + 4 + 8)
output = getSumOfFactors(12);
console.log(output); // --> 28 (1 + 2 + 3 + 4 + 6 + 12)
์๋ฅผ ์ ๋ ฅ๋ฐ์ ์ฝ์(factor)์ ํฉ์ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
์ฌ์ค ์ด๋ฌธ์ ๋ถํฐ ์ง์ ๋ชป๊ฐ๊ฑฐ ๊ฐ์์ ์กฐ๊ธ ๋ฅ์คํ์.. ใ _ใ
์ด ์ฝํ๋ฆฟ์ ์ ์ด ๋์ ๋ด์ฉ์ ๋จผ์ ๋ณด๋ฉด..
function getSumOfFactors(num) {
let index = 0;
for (let i = 1; i<=num ; i++ ){
if (num % i === 0){
index = index + i //์ด ๋ถ๋ถ์ด ์ดํด๊ฐ ์ ์๊ฐ..
}
}
return index
}
//๋ค์
//index = 0 let i = 0, 1 ๋ < <= ๊ฐ๋
ํ์คํ ํ๊ธฐ
์ด๊ฑฐ์๋ค.. ๋ช ์ฌํ๊ณ ๋ค์ ํด๋ด์ผ์ง
function getSumOfFactors(num) {
// ์์ ์ฝ์๋ฅผ ๊ตฌํ๊ธฐ
// ์ฝ์์ ํฉ์ ๋ฆฌํดํ๊ธฐ
// ์ฝ์ ๊ตฌํ๊ธฐ- 1๋ถํฐ ์ญ ๋๋ ์ ๋๋์ด๋จ์ด์ง๋ ์
let result = 0;
for (let i = 1; i<=num; i++){
if (num % i === 0){
result = result + i
}
}
return result
}
ํ์ง๋ง.. ์ฌํ ํ๊ณ ํ๋๊ฒ ๋์์ด ๋ง์ด ๋์๋์ง..
๋๋ฌด ์ฝ๊ฒ ํด๊ฒฐ ๋ผ์ ์กฐ๊ธ ๋นํฉใ ใ ใ ใ ใ ใ ๋ธ๋ก๊ทธ์ ๊ธ์ฐ๊ณ ๋ค์ ํ๊ณ ํ๊ฒ ์ฐธ
๋์์ด ๋ง์ด ๋๋ค..
'Lecture > ์ฝ๋์คํ ์ด์ธ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SEB FE] section 1 unit 7 - ๊ณ์ฐ๊ธฐ ๊ธฐ๋ฅ๊ตฌํํ๊ธฐ 1๏ธโฃ ํ๊ธฐ (0) | 2022.09.01 |
---|---|
[SEB FE] ๊ณ์ฐ๊ธฐ ๋ชฉ์ ๋ง๋ค๊ธฐ (0) | 2022.08.30 |
[SEB FE] Section 1 unit3 (3) - ๋ฐ๋ณต๋ฌธ ๋ฌธ์ ํ๊ธฐ1 [1~10] (0) | 2022.08.26 |
[SEB FE] section 1 unit 5 - ๋ฐ์ค๋ชจ๋ธ / css selector (0) | 2022.08.26 |
[SEB FE] Section 1 unit3 (2) - ๋ฌธ์์ด ๋ฌธ์ ํ๊ธฐ (0) | 2022.08.25 |