[JavaScript/section 1] 02 - ์‚ผ๊ฐํ˜• ํŒ๋ณ„ํ•˜๊ธฐ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ ๊ธธ์ด๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ A, B, C ์„ธ ๊ฐœ์˜ ๋ง‰๋Œ€ ๊ธธ์ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ์ด ์„ธ ๋ง‰๋Œ€๋กœ ์‚ผ๊ฐํ˜•์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉด 'YES'๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ๋งŒ๋“ค ์ˆ˜ ์—†์œผ๋ฉด 'NO'๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์‚ผ๊ฐํ˜•์˜ ๊ฒฐ์ •์กฐ๊ฑด์„ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์„ธ ๋ณ€์˜ ๊ธธ์ด๋ฅผ ์•Œ๊ณ  ์žˆ์„ ๋•Œ ๊ฐ€์žฅ ๊ธด ๋ณ€์˜ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅธ ๋‘๋ณ€์˜ ๊ธธ์ด์˜ ํ•ฉ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด ์‚ผ๊ฐํ˜•์„ ๊ทธ๋ฆด ์ˆ˜ ์—†๋‹ค. ๐Ÿ“ ํ’€์ด // if ๋ฌธ๋งŒ์„ ์ด์šฉํ•œ ๋ฐฉ๋ฒ• function solution(a, b, c) { let answer = 'YES', max; let sum = a + b + c; // ๊ฐ€์žฅ ํฐ ์ˆซ์ž ๊ตฌํ•˜๊ธฐ if (a < b) max = b; else max = a; if (max < c) max = c; if (sum - max
[React Native] ํ‚ค๋ณด๋“œ๊ฐ€ TextInput์ฐฝ์„ ์•ˆ ๊ฐ€๋ฆฌ๋„๋ก ํ•ด๋ณด์ž! (KeyboardAwareScrollView)
ยท
Frontend/React Native
์ปค๋ฎค๋‹ˆํ‹ฐ ์ƒ์„ธํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ •์—์„œ TextInput์ฐฝ์ด ์Šคํฌ๋ฆฐ์˜ ๋งจ ๋ฐ‘์— ์œ„์น˜ํ•˜๋„๋ก ํ•˜์˜€๋‹ค. ์•ฑ์œผ๋กœ ๊ฐœ๋ฐœ์„ ์ฒ˜์Œํ•ด๋ณด๋‹ˆ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค. ํ‚ค๋ณด๋“œ๋ฅผ ๋„์šฐ๋ฉด TextInput์ฐฝ์„ ๋ฎ์–ด ๋ฌด์—‡์„ ์ž…๋ ฅํ•˜๋Š”์ง€ ๋ณผ ์ˆ˜๊ฐ€ ์—†๊ฒŒ ๋œ ๊ฒƒ์ด๋‹ค. ํ‚ค๋ณด๋“œ๊ฐ€ TextInput์ฐฝ์„ ์•ˆ๊ฐ€๋ฆฌ๋„๋ก ํ•˜๊ณ  ํฌ์ปค์‹ฑ์ด ๋˜๋„๋ก ํ•ด๋ณด์žโ—โ— 1๏ธโƒฃ react-native-keyboard-aware-scroll-view ๋ชจ๋“ˆ ์„ค์น˜ npm i react-native-keyboard-aware-scroll-view --save 2๏ธโƒฃ import๋ฌธ import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view'; 3๏ธโƒฃ ๋ณธ๋ฌธ ๋‚ด์šฉ์„ KeyboardAwareSc..
[JavaScript/section 1] 01 - ์„ธ ์ˆ˜ ์ค‘ ์ตœ์†Ÿ๊ฐ’
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ 100 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ A, B, C๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์„ธ ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. (์ •๋ ฌ ์‚ฌ์šฉ โŒ) ์ธ์ž๋กœ 3๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋งŒ์„ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— if ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ Math ๊ฐ์ฒด์˜ ๋‚ด์žฅ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ„ํŽธํ•˜๊ณ  ๊ฐ€๋…์„ฑ์ด ๋” ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค๐Ÿค” ๐Ÿ“ ํ’€์ด // if ๋ฌธ์„ ์ด์šฉํ•œ ๋ฐฉ๋ฒ• function solution(a, b, c) { let answer; if (a < b) answer = a; else answer = b; if (c < answer) answer = c; return answer; } console.log(solution(6, 5, 11)); 1๏ธโƒฃ a์™€ b ๋จผ์ € ๋Œ€์†Œ ๊ด€๊ณ„๋ฅผ ๋น„๊ตํ•œ ํ›„ ์ž‘์€ ๊ฐ’์„ answer ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•ด์ค€๋‹ค. 2๏ธโƒฃ a..
[React Native] ๊ฐ€๊ฒฉ์— ์ฒœ ๋‹จ์œ„ ์‰ผํ‘œ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•(์ •๊ทœ์‹)
ยท
Frontend/React Native
๋ฌธ์ œ ๊ธฐ์กด์˜ JavaScript์—์„œ๋Š” toLocaleString() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ€๊ฒฉ์— ์ฒœ ๋‹จ์œ„๋งˆ๋‹ค ์‰ผํ‘œ๋ฅผ ์‰ฝ๊ฒŒ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋Š” JavaScript์˜ ์ตœ์‹  ๋ฒ„์ „์„ ์ง€์›ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฏ€๋กœ ์ง์ ‘ function์„ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. ์‚ฌ์šฉ ์ฝ”๋“œ (๋ณ€ํ™˜์„ ์›ํ•˜๋Š” ์ˆซ์ž).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); Object.prototype.toString() ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•˜๋Š” object์˜ ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ• ์ •๊ทœ์‹์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ๋ฆฌ๊ณ  ๊ตฌ๋ถ„์ž๊ฐ€ ํฌํ•จ๋œ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ์–ป๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ 1๏ธโƒฃ ์ •๊ทœ์‹ ์ƒ์„ฑ ๋ฐฉ๋ฒ• 2๊ฐ€์ง€ ์ •๊ทœ์‹ ๋ฆฌํ„ฐ๋Ÿด(/๋กœ ๊ฐ์‹ธ๋Š” ํŒจํ„ด)์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ๐Ÿ“Œ RegExp ๊ฐ์ฒด์˜ ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ• 2๏ธโƒฃ ..
[JavaScript] ๋ฌธ์ž์—ด ์น˜ํ™˜( replace(), split().join() )
ยท
Frontend/JavaScript
replace() ๋ฉ”์„œ๋“œ 1๏ธโƒฃ ์–ด๋–ค ํŒจํ„ด์— ์ผ์น˜ํ•˜๋Š” ์ผ๋ถ€ ๋˜๋Š” ๋ชจ๋“  ๋ถ€๋ถ„์ด ๊ต์ฒด๋œ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ 2๏ธโƒฃ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž์—ด๋งŒ ์น˜ํ™˜์ด ๋˜๋ฉฐ ์›๋ž˜ ๋ฌธ์ž์—ด์€ ๋ณ€๊ฒฝ๋˜์ง€ โŒ const str = '์•ˆ๋…•ํ•˜์„ธ์š”! ์ด์„ฑํ˜ธ ์ž…๋‹ˆ๋‹ค.'; console.log(str.replace('', '').replace('', '')); // expected output: "์•ˆ๋…•ํ•˜์„ธ์š”! ์ด์„ฑํ˜ธ ์ž…๋‹ˆ๋‹ค." ''์™€ ''์˜ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ์น˜ํ™˜ํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ๋‚˜๋Š” replace() ๋ฉ”์„œ๋“œ์˜ ํ•œ๊ณ„๋ฅผ ๋А๊ผˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋„ ๋งŽ์ด ์žˆ๊ฒ ์ง€๋งŒ ๋‚˜๋Š” split(), join() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. split() ๋ฉ”์„œ๋“œ String ๊ฐ์ฒด๋ฅผ ์ง€์ •ํ•œ ๊ตฌ๋ถ„์ž๋ฅผ ์ด์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌธ์ž์—ด๋กœ ๋‚˜๋ˆ” Join() ๋ฉ”์„œ๋“œ ๊ฐ ์š”์†Œ ๋˜๋Š” ๋ฉค๋ฒ„ ์‚ฌ์ด์— ์ง€์ •..
[CSS] CSS Units(px, em, rem, vw, vh, %)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์žโ—๏ธ
ยท
Frontend/CSS
CSS Units 1๏ธโƒฃ Absolute length units 2๏ธโƒฃ Relative length units Absolute length units ์–ด๋–ค ์ƒํ™ฉ์—์„œ๋“  ํ•ญ์ƒ ๊ณ ์ •๋œ ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹จ์œ„ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•˜์ง€๋งŒ ์ฃผ๋กœ px(๋ชจ๋‹ˆํ„ฐ ์œ„์—์„œ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„)์ด ์‚ฌ์šฉ๋œ๋‹ค. Absolute length units์˜ ๋ฌธ์ œ์ ์ด ๋ฌด์—‡์ผ๊นŒ? ์ปจํ…Œ์ด๋„ˆ์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด๋„ ์ปจํ…์ธ ๊ฐ€ ๊ทธ๋Œ€๋กœ ๋™์ผํ•œ ํฌ๊ธฐ๋กœ ๊ฐ„์ฃผ! ๋ฐ˜์‘ํ˜• โŒ Relative length units ๊ณ ์ •๋˜์ง€ ์•Š๊ณ  ์–ด๋–ค ๊ธฐ์ค€์— ๋”ฐ๋ผ์„œ ์œ ๋™์ ์œผ๋กœ ๋ฐ”๋€” ์ˆ˜ ์žˆ๋Š” ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹จ์œ„ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” 5๊ฐ€์ง€์—๋Š” em, rem, vw, vh, %๊ฐ€ ์กด์žฌํ•œ๋‹ค. em - (๋™์ผ ์š”์†Œ์˜ ๊ธ€๊ผด ํฌ๊ธฐ)โŒ → ๋ถ€๋ชจ ์š”์†Œ์˜ ๊ธ€๊ผด ํฌ๊ธฐ ์„ ํƒ๋œ ํฐํŠธ ํŒจ๋ฐ€..
[React Native] Expo๋ฅผ ์ด์šฉํ•œ ์•ฑ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๋ฐฉ๋ฒ•
ยท
Frontend/React Native
Expo CLI ์„ค์น˜ $ npm install --global expo-cli Expo Go ์•ฑ ์„ค์น˜ Android Play Store https://play.google.com/store/apps/details?id=host.exp.exponent Expo ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ $ expo init ์•ฑ์ด๋ฆ„ ๐Ÿ“Œ Choose a template → blank - a minimal app as clean as an empty canvas ์„ ํƒ Expo ๋กœ๊ทธ์ธ(VS code ํ„ฐ๋ฏธ๋„) expo login Expo ํ”„๋กœ์ ํŠธ ์‹คํ–‰(VS code ํ„ฐ๋ฏธ๋„) expo start --tunnel
[Python] ๋ฐฑ์ค€ 10989๋ฒˆ ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 3
ยท
Algorithm/๋ฐฑ์ค€(BOJ)
๋ฌธ์ œ N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 10,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” 10,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•œ๋‹ค. ํ’€์ด import sys input = sys.stdin.readline N = int(input()) # ๋ชจ๋“  ๋ฒ”์œ„๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฆฌ์ŠคํŠธ ์„ ์–ธ(๋ชจ๋“  ๊ฐ’์€ 0์œผ๋กœ ์ดˆ๊ธฐํ™”) count = [0] * 10001 # ๊ฐ ๋ฐ์ดํ„ฐ์— ํ•ด๋‹นํ•˜๋Š” ์ธ๋ฑ์Šค์˜ ๊ฐ’ ์ฆ๊ฐ€ for i in range(N): count[int(input())] += 1 # ๋ฆฌ์ŠคํŠธ์— ๊ธฐ๋ก๋œ ์ •๋ ฌ ์ •๋ณด ํ™•์ธ for i i..
_์„ฑํ˜ธ_
'๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (15 Page)