728x90 ๋ฐ์ํ [JS] ํ๋กํ ํ์ (Prototype) ๋ค๋ค๋ณด๊ธฐ ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค. ์ค๋๋ ์ญ์ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํตํด ๋ฐฐ์ด ํ๋กํ ํ์ ์ ๋ณต์ตํ๋ ์ฐจ์์์ ๋ค์ ํ๋ฒ ์ ๋ฆฌํ๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ Prototype์ด๋? ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ชจ๋ ๊ฐ์ฒด๋ ์จ๊น ํ๋กํผํฐ๋ก Prototype์ ๊ฐ์ง๊ณ ์๋ค. ์ด๊ฒ์ null์ด๊ฑฐ๋ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ ์ ์๋๋ฐ ์ด๊ฒ์ ํตํด์ ํด๋น ๊ฐ์ฒด์ ๊ธฐ๋ฅ(๋ฉ์๋)์ ๋ณต์ฌํ๊ฑฐ๋ ์ถ๊ฐํ ์ ์๋ค. ์ด๋ ๊ฒ ์ฐธ์กฐํ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํ์ฌ ๊ฐ์ฒด์ 'ํ๋กํ ํ์ '์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. Prototype ์ค์ ํ๊ธฐ 1. __proto__ ์ด๋์ ์๋ฅผ ์ง์นญํ๋ 'player'๋ผ๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ let player = { firstName:"Young", lastName:"An", get fullName() { return this.firstName .. 2022. 2. 12. [JS] ํ๋กํผํฐ ์ต์ (ํ๋๊ทธ) ๋ค๋ฃจ๊ธฐ(Property Flag) ์๋ ํ์ธ์ Foma๐ป ์ ๋๋ค. ์ค๋์ ์๋ฐ์คํฌ๋ฆฝํธ์ ํ๋กํผํฐ ํ๋๊ทธ์ ๋ํด์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฌ์ดํธ์์ ๊ณต๋ถํ๋ ๊ฒ์ ๋ณต์ตํ๋ ์ฐจ์์์ ์ ๊ฐ ์ดํดํ ๋ฐฉ์์ผ๋ก ์ ์ด๋ณด๊ฒ ์ต๋๋ค! ๋ฐ๋ก ์์ํ ๊ฒ์~ Property Flag๋? ํ๋กํผํฐ๋ ๊ฐ ๋ฟ๋ง ์๋๋ผ ํ๋๊ทธ๋ผ ๋ถ๋ฆฌ๋ ํน๋ณํ ์์ฑ 3๊ฐ์ง๋ฅผ ๊ฐ์ง๋ค. 1. writable ํด๋น ํ๋กํผํฐ๋ฅผ ์์ ํ ์ ์๊ฒ ์ค์ ํ๋ ํ๋๊ทธ 2. enumrable ํด๋น ํ๋กํผํฐ๋ฅผ ๋์ดํ ์ ์๊ฒ ์ค์ ํ๋ ํ๋๊ทธ 3. configurable ํด๋น ํ๋กํผํฐ๋ฅผ ์ญ์ , ํ๋๊ทธ ์์ ์ด ๊ฐ๋ฅํ๊ฒ ์ค์ ํ๋ ํ๋๊ทธ Property Flag ํ์ธํ๋ ๋ฐฉ๋ฒ Object.getOwnPropertyDescriptor(๊ฐ์ฒด,ํ๋กํผํฐ๋ช )์ผ๋ก ํ์ธํ๊ณ , ์ด๊ธฐ์ ๋ชจ๋ true๋ก ์ค์ ๋์ด ์.. 2022. 2. 12. [JS] ํ๋ก๊ทธ๋๋จธ์ค ํฐ์ผ๋ชฌ Problem ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํฐ์ผ๋ชฌ ๋น์ ์ ํฐ์ผ๋ชฌ์ ์ก๊ธฐ ์ํ ์ค๋ ์ฌํ ๋์, ํ ๋ฐ์ฌ๋์ ์ฐ๊ตฌ์ค์ ๋์ฐฉํ์ต๋๋ค. ํ ๋ฐ์ฌ๋์ ๋น์ ์๊ฒ ์์ ์ ์ฐ๊ตฌ์ค์ ์๋ ์ด N ๋ง๋ฆฌ์ ํฐ์ผ๋ชฌ ์ค์์ N/2๋ง๋ฆฌ๋ฅผ ๊ฐ์ ธ๊ฐ๋ ์ข๋ค๊ณ ํ์ต๋๋ค. programmers.co.kr Solution 1. nums์ ๊ธธ์ด์ ๋ฐ์ ๊ตฌํ๋ค. let half = nums.length/2 2. Set์ nums์ ์๋ ๋ฒํธ๋ฅผ ๋ฃ๋๋ค. let set = new Set() for (let i = 0; i < nums.length; i++) { set.add(nums[i]) } 3. Set์ ์ฌ์ด์ฆ์ nums์ ๊ธธ์ด์ ๋ฐ๊ณผ ๋น๊ตํด ๋ ์์ ๊ฒ์ ๋ฐํํ๋ค. return Math.min(set.size,half) Source Code fun.. 2022. 2. 6. [Swift&JS] HackerRank Staircase Problem Staircase | HackerRank Print a right-aligned staircase with n steps. www.hackerrank.com Source Code Swift import Foundation let n:Int = Int(readLine()!)! var start = Array(repeating:" ", count: n) func staircase(n: Int) { for i in 1...n { start[n-i] = "#" print(start.joined()) } } staircase(n: n) JS 'use strict'; process.stdin.resume(); process.stdin.setEncoding('utf-8'); let inputString.. 2022. 2. 6. [JS] JSON๊ณผ ๊ฐ์ฒด ๋ค๋ฃจ๊ธฐ ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋์ JavaScript๋ก JSON๊ณผ ๊ฐ์ฒด๋ฅผ ๋ค๋ฃจ๋ ๋ฒ์ ๋ํด์ ์ ๋ฆฌํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ ๊ฐ์ฒด๋ฅผ JSON์ผ๋ก ๋ฐ๊พธ๊ธฐ JSON.stringify(๊ฐ์ฒด) ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค. let user = { name:"foma", age:27, color:"Black", [Symbol("id")]:123 } let json = JSON.stringify(user) console.log(json) //{"name":"foma","age":27,"color":"Black"} ๋ง์ฝ ๋ฉ์๋๋ undefined๊ฐ์ ๊ฐ์ง ํ๋กํผํฐ๊ฐ ์๋ค๋ฉด ์๋์ผ๋ก ๋ฌด์ํฉ๋๋ค. user.sayHi = function() { print("sayHi") } user.somthing = un.. 2022. 2. 5. [JS] ๊ตฌ์กฐ๋ถํด(Destructuring) (feat. ์ฝ๊ฒ ๋ณ์ ๋ง๋ค๊ธฐ) ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋์ JavaScript์์ ์์ฃผ ์ ์ฉํ๊ฒ ๋ณ์๋ฅผ ๋ง๋ค ์ ์๋ ๊ตฌ์กฐ๋ถํด์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ ๋ฐฐ์ด ๋ถํดํด์ ๋ณ์ ๋ง๋ค๊ธฐ ๋๊ดํธ๋ฅผ ์ด์ฉํด์ ๋ณ์์ ๊ฐ์ ํ ๋นํ ์ ์์ต๋๋ค. let arr = ["foma","gran"] let [foma,gran] = arr console.log(foma) //"foma" console.log(gran) //"gran" ๋ฌธ์์ด ๋ถํดํด์ ๋ณ์ ๋ง๋ค๊ธฐ ๋ฌธ์์ด์ ์ํ๋ ๋จ์๋ก ๋ถํดํ์ฌ ๋ณ์๋ก ๋ง๋ค ์ ์์ต๋๋ค. let fomagran = "foma,gran" let [foma,gran] = fomagran.split(',') console.log(foma) //"foma" console.log(gran) //"gra.. 2022. 2. 5. [JS] iOS ๊ฐ๋ฐ์๊ฐ ์ดํดํ๋ JavaScript ๊ธฐ์ด๋ฌธ๋ฒ (feat. Swift) ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ผ๋ง ์ ์ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ก ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ๋งก๊ฒ ๋์์ต๋๋ค. JavaScript๋ฅผ ๊ณต๋ถํ๋ค๋ณด๋ Swift๋ ๋น์ทํ ๊ฒ๋ ์๊ณ ์๋ ๋ถ๋ถ๋ ๋ง๋๋ผ๊ตฌ์. ๊ทธ๋์ ์๋ ์ต์ํ๋ Swift๋ฅผ ๊ธฐ์ค์ผ๋ก JavaScript์ ๋ค๋ฅธ ์ ์ ๋ํด์๋ง ์ ๋ฆฌํด ๋ณด๋ ค๊ณ ํฉ๋๋ค! ๋ฐ๋ก ์์ํ ๊ฒ์~ ๋ณ์์ ์์ Swift์์ ์์๋ฅผ let,๋ณ์๋ฅผ var๋ก ์ด๋ค. let name = "Fomagran" //์์ var name = "Fomagran" //๋ณ์ JavaScript๋ ์์๋ฅผ const,๋ณ์๋ฅผ let์ด๋ผ๊ณ ์ด๋ค. ์ด๋ฏธ ์์ let์ ์ต์ํด ์๋ ์ํ๋ผ์.. ์ค์๋ฅผ ๋ง์ด ํ ๊ฒ ๊ฐ๋ค. const name = "Fomagran" //์์ let name = "Fomagran" //๋ณ์ ์ถ.. 2022. 2. 5. [Swift] HackerRank Plus Minus Problem Plus Minus | HackerRank Calculate the fraction of positive, negative and zero values in an array. www.hackerrank.com Source Code HTML ์ฝ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐํ ์ ์๋ ์์ค 2022. 2. 2. [Swift] HackerRank Diagonal Difference Problem Diagonal Difference | HackerRank Calculate the absolute difference of sums across the two diagonals of a square matrix. www.hackerrank.com Source Code HTML ์ฝ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐํ ์ ์๋ ์์ค 2022. 2. 1. [Swift] HackerRank A Very Big Sum Problem A Very Big Sum | HackerRank Calculate the sum of the values in an array that might exceed the range of int values. www.hackerrank.com Source Code HTML ์ฝ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐํ ์ ์๋ ์์ค 2022. 1. 31. [Swift] HackerRank Compare the Triplets Problem Compare the Triplets | HackerRank Compare the elements in two triplets. www.hackerrank.com Source Code HTML ์ฝ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐํ ์ ์๋ ์์ค 2022. 1. 31. [Swift] HackerRank Simple Array Sum Problem Simple Array Sum | HackerRank Calculate the sum of integers in an array. www.hackerrank.com Source Code HTML ์ฝ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐํ ์ ์๋ ์์ค 2022. 1. 31. ์ด์ 1 ยทยทยท 8 9 10 11 12 13 14 ยทยทยท 49 ๋ค์ 728x90 ๋ฐ์ํ