[Python] ๋ฐฑ์ค€ 2751๋ฒˆ ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 2
ยท
Algorithm/๋ฐฑ์ค€(BOJ)
๋ฌธ์ œ N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” ์ ˆ๋Œ“๊ฐ’์ด 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. ์ˆ˜๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•œ๋‹ค. ํ’€์ด import sys input = sys.stdin.readline N = int(input()) data = [] for i in range(N): data.append(int(input())) # ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ data.sort() print(*data, sep='\n') ์งš๊ณ  ๋„˜์–ด๊ฐ€์•ผ ํ•  ๋ถ€๋ถ„โ— ์ž…๋ ฅ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ์—๋Š” ๋‹จ์ˆœ..
[Python] ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜
ยท
Algorithm/์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค
๐Ÿ“Œ ๋ณธ ๋‚ด์šฉ์€ '์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with ํŒŒ์ด์ฌ(๋‚˜๋™๋นˆ ์ง€์Œ)'์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด N ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ๋ชจ๋“  ์†Œ์ˆ˜๋ฅผ ์ฐพ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์†Œ์ˆ˜ ํŒ๋ณ„ ๊ณผ์ • 1๏ธโƒฃ 2๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ๋ชจ๋“  ์ž์—ฐ์ˆ˜๋ฅผ ๋‚˜์—ดํ•œ๋‹ค. 2๏ธโƒฃ ๋‚จ์€ ์ˆ˜ ์ค‘์—์„œ ์•„์ง ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์€ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜ i๋ฅผ ์ฐพ๋Š”๋‹ค. 3๏ธโƒฃ ๋‚จ์€ ์ˆ˜ ์ค‘์—์„œ i์˜ ๋ฐฐ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ œ๊ฑฐํ•œ๋‹ค(i๋Š” ์ œ๊ฑฐํ•˜์ง€ ์•Š๋Š”๋‹ค). 4๏ธโƒฃ ๋” ์ด์ƒ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์—†์„ ๋•Œ๊นŒ์ง€ 2๏ธโƒฃ๋ฒˆ๊ณผ 3๏ธโƒฃ๋ฒˆ์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค. ์†Œ์ˆ˜ ํŒ๋ณ„ ํ”„๋กœ๊ทธ๋žจ import math n = 10 # 2๋ถ€ํ„ฐ, 10๊นŒ์ง€์˜ ๋ชจ๋“  ์ˆ˜์— ๋Œ€ํ•˜์—ฌ ์†Œ์ˆ˜ ํŒ๋ณ„ array = [True for i range(n + 1)] # ์ฒ˜์Œ์—” ๋ชจ๋“  ์ˆ˜๊ฐ€ ์†Œ์ˆ˜(True)์ธ ๊ฒƒ์œผ๋กœ ์ดˆ๊ธฐํ™”(0๊ณผ..
[Python] ์ˆ˜ํ–‰ ์‹œ๊ฐ„ ์ธก์ • ์†Œ์Šค์ฝ”๋“œ
ยท
Algorithm/์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค
import time start_time = time.time() # ์ธก์ • ์‹œ์ž‘ # ํ”„๋กœ๊ทธ๋žจ ์†Œ์Šค์ฝ”๋“œ end_time = time.time() # ์ธก์ • ์ข…๋ฃŒ print("time :", end_time - start_time) # ์ˆ˜ํ–‰ ์‹œ๊ฐ„ ์ถœ๋ ฅ
[React] React Router(๋ฆฌ์•กํŠธ ๋ผ์šฐํ„ฐ) ์‚ฌ์šฉํ•˜๊ธฐ
ยท
Frontend/React
SPA ๊ธฐ๋ฒ•์„ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•œ ์ƒํƒœ๋กœ REACT์—์„œ ํŽ˜์ด์ง€ ์ด๋™ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ React Router๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค. ๋ผ์šฐํŒ…์ด๋ž€? - ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•œ URL์— ๋”ฐ๋ผ ํ•ด๋‹น URL์— ๋งž๋Š” ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ๋‹ค. - ๋ฆฌ์•กํŠธ์—๋Š” ๋ผ์šฐํŒ… ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ, ๊ทธ ์ค‘ ๋ฆฌ์•กํŠธ ๋ผ์šฐํ„ฐ(React Router)๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. React Router(๋ฆฌ์•กํŠธ ๋ผ์šฐํ„ฐ)๋ž€ ๋ฌด์—‡์ธ๊ฐ€? - ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ฃผ์†Œ๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ ํ™˜๊ฒฝ์—์„œ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๋ผ์šฐํ„ฐ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ข…๋ฅ˜ - BrowserRouter: HTML5๋ฅผ ์ง€์›ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ์ง€ํ•œ๋‹ค. - HashRouter: ํ•ด์‹œ ์ฃผ์†Œ๋ฅผ ๊ฐ์ง€ํ•œ๋‹ค. React Router(๋ฆฌ์•กํŠธ ๋ผ์šฐํ„ฐ) ์‚ฌ์šฉํ•ด๋ณด๊ธฐ! (โ— ..
[React] SPA(Single Page Application) ์ด๋ž€?
ยท
Frontend/React
SPA๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์ „ SPA๋ฅผ ์™œ ์‚ฌ์šฉํ•˜๋Š”์ง€? ์ „ํ†ต์ ์ธ ์›น ์‚ฌ์ดํŠธ๋Š” ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค ์ •์  ๋ฆฌ์†Œ์Šค๊ฐ€ ๋‹ค์šด๋กœ๋“œ๋˜๊ณ  ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ๋‹ค์‹œ ๋ Œ๋”๋ง ํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ƒˆ๋กœ๊ณ ์นจ์ด ๋ฐœ์ƒ๋˜์–ด ์‚ฌ์šฉ์„ฑ์ด ์ข‹์ง€ ์•Š์œผ๋ฉฐ, ๋ณ€๊ฒฝ์ด ํ•„์š”์—†๋Š” ๋ถ€๋ถ„์„ ํฌํ•จํ•˜์—ฌ ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ๊ฐฑ์‹ ํ•˜๋ฏ€๋กœ ๊ต‰์žฅํžˆ ๋น„ํšจ์œจ์ ์ด๋‹ค. ์›น ์‚ฌ์ดํŠธ์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ์„œ๋ฒ„์ชฝ์—์„  ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ฆด ์ˆ˜ ๋ฐ–์— ์—†๋‹ค. ๊ทธ ๋งŒํผ ์†๋„์ ์ธ ์ธก๋ฉด์—์„œ ์‚ฌ์šฉ์ž๋Š” ๋ถˆํŽธํ•จ์„ ๊ทธ๋Œ€๋กœ ๋А๋ผ๊ฒŒ ๋œ๋‹ค. ํ‹€๋ฆดํ™•๋ฅ ์ด ๋†’์€ ๊ฐœ์ธ์ ์ธ ์ง€์‹(์ˆ˜์ • ๊ฐ€๋Šฅ์„ฑ ๋†’์Œโ—) Traditional Page Lifecycle HTML → CSS → DOM → Web browser SPA Lifecycle HTML → CSS → Virtual Dom → DOM(ํ•„์š” ์š”์†Œ๋งŒ ๋ณ€๊ฒฝ) → Web browser..
[Netlify] Netlify ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•
ยท
๊ธฐํƒ€/Netlify
1. ํ•ด๋‹น ํ”„๋กœ์ ํŠธ ๊ฒฝ๋กœ๋กœ ๋“ค์–ด๊ฐ„๋‹ค.c: \projects\...\ํ”„๋กœ์ ํŠธ ๊ฒฝ๋กœ 2.  npm์„ ์ด์šฉํ•ด Netlify ํŒŒ์ผ์„ ๊ธ€๋กœ๋ฒŒ์ ์œผ๋กœ ์„ค์น˜$ npm install netlify-cli -g 3.  Netlify ๋ช…๋ น์–ด ์‹คํ–‰$ netlify deploy 4. What would you like to do? (๋ฐฉํ–ฅํ‚ค๋ฅผ ์ด์šฉํ•˜์—ฌ ์„ ํƒ)+ Create & configure a new site 5. Team & Site name ์ž…๋ ฅ? Site name: Seongho's team? Site name: seongho-site-name 6. build ํด๋”๋ฅผ deploy (์ฃผ์˜โ— build ํด๋”๊ฐ€ ์—†๋‹ค๋ฉด $ npm run build๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ)? Publish directory build 7. ์ƒ์„ฑ๋œ draf..
[Node.js/JavaScript] ๋ฐฑ์ค€ 1157๋ฒˆ ๋‹จ์–ด ๊ฐœ์ˆ˜
ยท
Algorithm/๋ฐฑ์ค€(BOJ)
๋ฌธ์ œ ์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋กœ ๋œ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ์ด ๋‹จ์–ด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‹จ, ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ’€์ด const input = require('fs').readFileSync('์˜ˆ์ œ.txt').toString().trim().toUpperCase(); // 26์˜ ๊ธธ์ด๋ฅผ ๊ฐ€์ง„ ๋นˆ ๋ฐฐ์—ด์— 0์„ ์ฑ„์›Œ์„œ ๋ฐฐ์—ด ๊ฐ์ฒด ์ƒ์„ฑ const arr = new Array(26).fill(0); // ๋ฌธ์ž A์˜ ์ธ๋ฑ์Šค = 0 (UTF-16 ์ฝ”๋“œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ - 65) for (let i = 0; i < input.length; i++) { arr[input.charCodeAt(i) - 65]++; } // ๋ฐฐ์—ด ์•ˆ์—์„œ ์ตœ๋Œ“๊ฐ’ ์ฐพ๊ธฐ const max =..
[React] React.PureComponent(์„ฑ๋Šฅ ํ–ฅ์ƒ)
ยท
Frontend/React
PureComponent & memo Component์— state๋‚˜ props์— ๋ณ€ํ™”๊ฐ€ ์—†๋‹ค๋ฉด render ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜์ง€ โŒ React.PureComponent React.PureComponent๋Š” React.Component์™€ ๋น„์Šทํ•˜๋‹ค. React.Component๋Š” shouldComponentUpdate()๋ฅผ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์ง€๋งŒ, React.PureComponent๋Š” props์™€ state๋ฅผ ์ด์šฉํ•œ ์–•์€ ๋น„๊ต(๋ ˆํผ๋Ÿฐ์Šค๋งŒ ๋น„๊ตํ•ด์„œ ์•ˆ์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ฌ๋ผ์ ธ๋„ ๋™์ผํ•œ ์˜ค๋ธŒ์ ํŠธ)๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค๋Š” ์ฐจ์ด์ ๋งŒ์ด ์กด์žฌํ•œ๋‹ค. ์ฐธ์กฐ๊ฐ’์ด ๋™์ผํ•˜๋ฉด ์—…๋ฐ์ดํŠธ โŒ => ShouldComponentUpdate ํ•จ์ˆ˜๋Š” false๋ฅผ ๋ฆฌํ„ด React ์ปดํฌ๋„ŒํŠธ์˜ render() ํ•จ์ˆ˜๊ฐ€ ๋™์ผํ•œ props์™€ state์— ๋Œ€ํ•˜์—ฌ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ Œ..
_์„ฑํ˜ธ_
'๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (16 Page)