๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (230) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [ํ๋ก๊ทธ๋๋จธ์ค] ํน๋ณํ ์ด์ฐจ์ ๋ฐฐ์ด1 [๋ฌธ์ ]์ ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋ค์๊ณผ ๊ฐ์ n × n ํฌ๊ธฐ์ ์ด์ฐจ์ ๋ฐฐ์ด arr๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์. arr[i][j] (0 ≤ i, j [๋ด ์ฝ๋]ํํ ๋ค 0์ด ๋ค์ด๊ฐ ๋ฐฐ์ด ๋ง๋ค๊ณ 0,0 / 1,1 / 2,2 ์ด๋ฐ ์ ๋คํํ ๋ง 1์ ๋ฃ์ด์ฃผ๋ฉด ๋๊ฒ ์ง?ํด์ ์๋์ฒ๋ผ ํ๋๋ฐ function solution(n) { let arr = Array(n).fill(Array(n).fill(0)); console.log(arr) for(i=0; i ์ฅ.. ์ ๋ค ์ฑ์์ง๋๊ฑฐ์ง...?๋ญ์ง..!? ์ธ์์ด ๋ ์ต๊นํ๋ค!!ํ๊ณ ์ฐพ์๋ณด๋ fill ๋ฉ์๋์ ๋ํด ์์ธํ ์์ง ๋ชปํ ๊ฒ ์์ธ์ด์๋ค.https://aeunhi99.tistory.com/257 [Js] .. [ํ๋ก๊ทธ๋๋จธ์ค] ๊ฐ๊น์ด 1 ์ฐพ๊ธฐ - IndexOf(์ฐพ์ element, ์์ํ index) indexOf ๋ฉ์๋์ ๋ํด ๊ธฐ์ตํ๊ณ ์ถ์ด์ ๊ธฐ๋ก!https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf Array.prototype.indexOf() - JavaScript | MDNArray ์ธ์คํด์ค์ indexOf() ๋ฉ์๋๋ ๋ฐฐ์ด์์ ์ฃผ์ด์ง ์์๋ฅผ ์ฐพ์ ์ ์๋ ์ฒซ ๋ฒ์งธ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๊ณ , ์ฐพ์ ์ ์๋ ๊ฒฝ์ฐ -1์ ๋ฐํํฉ๋๋ค.developer.mozilla.org๋งค๊ฐ๋ณ์searchElement๋ฐฐ์ด์์ ์์น๋ฅผ ์ฐพ์ ์์์ ๋๋ค.fromIndex Optional๊ฒ์์ ์์ํ 0 ๊ธฐ๋ฐ ์ธ๋ฑ์ค๋ก, ์ ์๋ก ๋ณํ๋ฉ๋๋ค.์์ ์ธ๋ฑ์ค๋ ๋ฐฐ์ด์ ๋๋ถํฐ ๊ฑฐ๊พธ๋ก ์ ๋๋ค. ์ฆ, fromIndex fromInd.. [7] ๊ธฐ์ ์คํ์ ๋ฐ๊พธ๊ธฐ ์์ ์ ํด์ผ ํ ๊ฒ๋ค ํต์ฌ์ด ๋๋ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋ ๋ฐ ์ฑ๊ณตํ์ผ๋, ์ด์ ์๋ธ ๊ธฐ๋ฅ์ธ ์๋ํ๊ธฐ ํ์ด์ง๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค.๋ฐ๋๋ผJS๋ก ๋ง๋ค๋ฉด ํ์์๋ ๋ ๋๋ง์ด ์๊ธฐ๊ณ , ๋ ๋๋ง๋ ๋ ๊น๋ฐ์์ด ์๊ธฐ๊ธฐ ๋๋ฌธ์,๊ทธ๋ฆฌ๊ณ ์ง๊ธ๋ณด๋ค ๋ ๊ธธ์ด์ง ์ฝ๋๊ฐ ์์๋์ด ๋ฆฌ์กํธ๋ก ์คํ์ ๋ฐ๊พธ๋ ค๊ณ ์๊ฐํ๊ณ ๋ ์์๋ค. ์ํ๋ ๊ธฐ๋ฅ 1. CRUD ๊ฐ ๊ฐ๋ฅํ ์๋ํ๊ธฐ ํ์ด์ง๋ฅผ ๋ง๋ค๊ณ ์ถ์๊ธฐ์ (์ธ์คํ์ฒ๋ผ ๊ฐ์ ๋ง๋ ์ด๋ฏธ์ง๋ฅผ ๊ณต์ ํ ์ ์๋๋ก)2. ํ๋กํ ๊ทธ๋ฆผ 1์ฐจ ์์ฑ ํ -> ํ์ด์ง ์ด๋ํด์ 2์ฐจ ๊ฐ๊ณต (๊ทธ๋ฆฌ๊ธฐ, ๊ธ์จ ์ฐ๊ธฐ) ๊ฐ ๊ฐ๋ฅํ๊ฒ ํ๊ณ ์ถ์์ด๋ ๊ฒ ๋๊ฐ์ง ๊ธฐ๋ฅ์ ์ํ๊ธฐ์ ์๋ฒ๊ฐ ํ์ํ๋ค. ์ฃผ๋ณ ๊ฐ๋ฐ์ ๋ถ๋ค๊ป ์ฌ์ญค๋ดค๋๋ฐ ์ง๊ธ ํ ์ ์๋ ๊ฑด1. React + express2. Next JS ์ฌ์ฉํ๊ธฐ ์ด๋ ๊ฒ ๋๊ฐ์ง์๋๋ฐ ์ด ๋๊ฐ์ง ์ค์ ์ด๋ค ์คํ์ผ๋ก ํ .. [6] ์บ๋ฆญํฐ๋ง ๋ฐ๊พธ๊ธฐ ์ฑ๊ณต + ์์ดํ ๋ณ๊ฒฝ ์ ๊ทธ๋ฆผ๋ค ์์๋๋ก ๋ฐฐ์นํ๊ธฐ + ๋ฐฐ๊ฒฝ ์ปฌ๋ฌ ์ ์งํ๊ธฐ ์บ๋ฆญํฐ๋ฅผ ๋ฐ๊พธ๋ฉด ๋ชจ๋ ๊ฒ ์ด๊ธฐํ ๋๊ณ ๋ชจ๋ ์์๋ฅผ ๋ค์ ์ ํํด์ผ ํ๋ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ช ๊ฐ์ง์ ํด๊ฒฐ์ฑ ์ ์๊ฐํด๋ดค์๋ค. https://mayongee.tistory.com/626 [5] Canvas Api ๋ ํ๊ฒน์ด์ผ - ์ด๋ฏธ์ง ๊ต์ฒด ๋ฒํผ ์์ ํ๊ธฐโ๏ธ๋ฌธ์ ์ : ์บ๋ฆญํฐ ๋ฒํผ ํด๋ฆญ ์ ๋ชจ๋ ์์ ์ด๊ธฐํ ์ด์ ์ ๋ง๋ ๋ฒํผ์ด ์๋ํ๋ ๋ชจ์ต์ ๋ณด๋ฉด ๊ฐ์ฅ ํฐ ๋ฌธ์ ์ ์ด ์์๋๋ฐ, ๋ฐ๋ก ์บ๋ฒ์ค ๋ด์ ์ด๋ฏธ์ง๊ฐ ์๋ ๊ฒฝ์ฐ ์ทจ์ ๋ฒํผ (์์ ๊ธฐ ๋ฒํผ)์mayongee.tistory.com 2. ๋ฒํผ์ ํด๋ฆญํด์ canvas ๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค ๋ฐฐ๊ฒฝ ์๊ณผ ๋ณ๊ฐ๋ก ์ด๋ฏธ์ง url ์ ๋ณ์๋ก ๊ฐ์ง๊ณ ์๊ธฐ ์ด์ ๋จ๊ณ์ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ฐ (๋ฐฐ๊ฒฝ์ ํฌ๋ช ์ผ๋ก)=> ๋ฐฐ๊ฒฝ์ด ๋ณ๊ฒฝ ๋ ๋ -> ๋ฐฐ๊ฒฝ ๊น๊ณ ๋ค์ ๋ก๋=> ๋ค๋ฅธ ๋ฒํผ ๋๋ฅผ .. [5] Canvas Api ๋ ํ๊ฒน์ด์ผ - ์ด๋ฏธ์ง ๊ต์ฒด ๋ฒํผ ์์ ํ๊ธฐ โ๏ธ๋ฌธ์ ์ : ์บ๋ฆญํฐ ๋ฒํผ ํด๋ฆญ ์ ๋ชจ๋ ์์ ์ด๊ธฐํ ์ด์ ์ ๋ง๋ ๋ฒํผ์ด ์๋ํ๋ ๋ชจ์ต์ ๋ณด๋ฉด ๊ฐ์ฅ ํฐ ๋ฌธ์ ์ ์ด ์์๋๋ฐ, ๋ฐ๋ก ์บ๋ฒ์ค ๋ด์ ์ด๋ฏธ์ง๊ฐ ์๋ ๊ฒฝ์ฐ ์ทจ์ ๋ฒํผ (์์ ๊ธฐ ๋ฒํผ)์ ๋๋ฅด๋ฉดํด๋น ์์ ๋ฟ๋ง ์๋๋ผ ๋ชจ๋ ์์๊ฐ ์ง์์ง๋ ์ ์ด์๋ค. ๊ฐ๋ น ์บ๋ฆญํฐ๋ฅผ ํด๋ฆญ & ๋ ธํธ๋ถ ํด๋ฆญ ํด์ ๋ ธํธ๋ถ์ด ์๋ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ ํ, ์ฑ ์์ ๋ณ๊ฒฝํ๊ณ ์ถ์ด ์ฑ ์ ๋ฒํผ์ ๋๋ฅด๋ฉดํฐ์์ผ๋ก ๋ชจ๋ ์์๊ฐ ์ฌ๋ผ์ง๊ฒ ๋๋ค.์ฆ, ์ฒ์๋ถํฐ ์๋ก ํ๋กํ์ ๋ง๋ค์ด์ผ ํ๋ค. ๐์์ธ : canvas api ๋ ํ๊ฒน!I think maybe you misunderstand what a Canvas is.A canvas is essentially a 2 dimensional grid of pixels along an 'X' axis.. [ํ๋ก๊ทธ๋๋จธ์ค] ์ ์ ์ ๊ณฑ๊ทผ ํ๋ณ - ๊ฑฐ๋ญ์ ๊ณฑ(**), Number.isInteger() ๋ฉ์๋ https://school.programmers.co.kr/learn/courses/30/lessons/12934 ํ๋ก๊ทธ๋๋จธ์ค์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.programmers.co.krโ๏ธ ๋ฌธ์ ์ถ์ฒ ์์์ ์์ ์ ์ n์ ๋ํด, n์ด ์ด๋ค ์์ ์ ์ x์ ์ ๊ณฑ์ธ์ง ์๋์ง ํ๋จํ๋ ค ํฉ๋๋ค.n์ด ์์ ์ ์ x์ ์ ๊ณฑ์ด๋ผ๋ฉด x+1์ ์ ๊ณฑ์ ๋ฆฌํดํ๊ณ , n์ด ์์ ์ ์ x์ ์ ๊ณฑ์ด ์๋๋ผ๋ฉด -1์ ๋ฆฌํดํ๋ ํจ์๋ฅผ ์์ฑํ์ธ์. function solution(n) { return Number.isInteger(Math.sqrt(n)) ? (Math.sqrt(n) +1)**2 : -1}.. [4] ์ด๋ฏธ์ง ์ ์ฅํ๋ ๋ฒํผ ๋ง๋ค๊ธฐ ์ ์ฅํ๊ธฐ ์ด๋ ๊ฒ ๋ฒํผ ์์๋ฅผ ๋ง๋ค์ด์ค ํ, JS ๋ก ๋ฒํผ์ ํด๋ฆญํ์ ๋์ ์ด๋ฒคํธ ํจ์๋ฅผ ๋ง๋ค์ด์ค๋ค.const onSaveButtonClick = () => { const image = canvas.toDataURL('image/jpeg'); const link = document.createElement('a'); link.href = image; link.download = 'ProfileByDDOZZA'; link.click(); alert('save!');}; canva.toDataUrl() : ์ด๋ฏธ์ง ํํ์ ํฌํจํ๋ ๋ฐ์ดํฐ URL์ ๋ฐํํ๋ค. ํ์ผ ํ์์ ์ง์ ํ ์ ์๋๋ฐ, ๋ฐ๋ก ์ง์ ํ์ง ์์ผ๋ฉด PNG ํ์์ผ๋ก ๋ด๋ณด๋ด์ง๋ค. ๋ง์ ๊ฒฝ์ฐ์ image/jpeg ํน์ image/webp ํ์๋.. [ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ๋ด p์ y์ ๊ฐ์ ์ฝํ ๋ฌธ์ ํ๊ธฐ ๋ค์ ์์! function solution(s){const chars = s.split('').map(v=> v.toLowerCase()); let countP = 0; let countY = 0; chars.map(v=> { v==='p' && countP++; v==='y' && countY++; } ) if(countP === 0 && countY === 0){ return true } else{ return countP===countY ? true :false }}๋์๋ฌธ์๋ฅผ ํต์ผํด์ค ํ p ์ y ์ ๊ฐ์๋ฅผ ์ธ์คฌ๋๋ฐ, function numPY(s){ return s.toUpperCa.. ์ด์ 1 2 3 4 ยทยทยท 29 ๋ค์