전체 κΈ€ 79

Husky - 컀밋/ν‘Έμ‹œ μ „ μž‘μ—… μ‹€ν–‰ν•˜κΈ°

πŸ“ŒGit Hooksλž€?Git이 νŠΉμ • 이벀트(컀밋, ν‘Έμ‹œ λ“±) λ°œμƒ μ‹œ μžλ™μœΌλ‘œ μ‹€ν–‰ν•˜λŠ” 슀크립트..git/hooks/ 폴더에 μœ„μΉ˜ν•˜μ§€λ§Œ — .git/은 git이 μΆ”μ ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ νŒ€μ›κ³Ό 곡유 λΆˆκ°€. 이 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 게 Husky. πŸ“ŒHuskyλž€?Git hooksλ₯Ό ν”„λ‘œμ νŠΈ 폴더 λ‚΄λΆ€(.husky/)에 두고 버전 관리·νŒ€ 곡유λ₯Ό κ°€λŠ₯ν•˜κ²Œ ν•΄μ£ΌλŠ” 라이브러리. λ™μž‘ 원리npm install μ‹œ prepare 슀크립트둜 husky install μ‹€ν–‰Huskyκ°€ git config core.hooksPath .huskyλ₯Ό μ„€μ • — git이 .git/hooks/ λŒ€μ‹  .husky/λ₯Ό 보게 λ§Œλ“¬.husky/pre-commit, .husky/pre-push 등을 λ§Œλ“€λ©΄ git이 ν•΄λ‹Ή μ‹œμ μ— μžλ™ μ‹€ν–‰ μ„€μΉ˜npm..

[Linux] crontab - λ¦¬λˆ…μŠ€ μ„œλ²„μ—μ„œ μ›ν•˜λŠ” μž‘μ—… μŠ€μΌ€μ€„λ§ν•˜κΈ°

crontab νŠΉμ • μ‹œκ°„μ— νŠΉμ • μž‘μ—…μ„ μ˜ˆμ•½ν•œλ‹€.* ls ν˜„μž¬ μœ„μΉ˜μ˜ 파일 λͺ©λ‘(λ˜λŠ” 폴더) 쑰회 ls -al κΆŒν•œ, μˆ¨κ²¨μ§„ 폴더 확인 cd디렉터리 이동(μ§„μž…) cd 디렉토리λͺ…touch0λ°”μ΄νŠΈ 파일 생성, 파일의 λ‚ μ§œμ™€ μ‹œκ°„μ„ μˆ˜μ •mkdir디렉터리 생성cp파일 볡사mv파일 이동rm파일 μ‚­μ œcat파일의 λ‚΄μš©μ„ 화면에 좜λ ₯, λ¦¬λ‹€μ΄λ ‰μ…˜ 기호('>')λ₯Ό μ‚¬μš©ν•˜μ—¬ μƒˆλ‘œμš΄ 파일 생성redirectionν™”λ©΄μ˜ 좜λ ₯ κ²°κ³Όλ₯Ό 파일둜 μ €μž₯alias자주 μ‚¬μš©ν•˜λŠ” λͺ…령어듀을 별λͺ…μœΌλ‘œ μ •μ˜ν•˜μ—¬ μ‰½κ²Œ μ‚¬μš©ν•  수 μžˆλ„λ‘ μ„€μ •rmdir디렉터리 μ‚­μ œ μ˜ˆμ‹œμž‘μ—… 등둝 및 μˆ˜μ •: crontab -e (κΈ°λ³Έ 에디터가 열리며 μŠ€μΌ€μ€„ μž‘μ„±)μž‘μ—… λͺ©λ‘ 쑰회: crontab -lμž‘μ—… 전체 μ‚­μ œ: crontab -r ν•„λ“œν—ˆμš©λ²”μœ„μ˜λ―ΈλΆ„0-5..

[React] λ¦¬λ•μŠ€(Redux)

λ¦¬λ•μŠ€(Redux)λ¦¬μ•‘νŠΈμ—μ„œ μ‚¬μš©λ˜λŠ” μƒνƒœ 관리 라이브러리. μ£Όμš” κ°œλ…μ€ λ‹€μŒκ³Ό κ°™λ‹€. μ½κΈ° μ „μš© μƒνƒœ λ¦¬λ•μŠ€μ—μ„œ μ „μ—­μœΌλ‘œ κ΄€λ¦¬ν•˜λŠ” 값은 읽기 μ „μš©μœΌλ‘œ, 직접 λ³€κ²½ν•  수 μ—†λ‹€. λ‹¨μΌ μŠ€ν† μ–΄ μ „체 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ ‘κ·Ό κ°€λŠ₯ν•œ μƒνƒœλ“€μ„ μ €μž₯ν•˜κ³  μžˆλŠ” ν•˜λ‚˜μ˜ 객체.μ•‘μ…˜ μƒνƒœμ˜ 변경을 μš”μ²­ν•˜κΈ° μœ„ν•œ 객체. λ¦¬λ“€μ„œ μ•‘μ…˜κ³Ό 이전 μƒνƒœλ₯Ό λ°›μ•„ μƒˆλ‘œμš΄ μƒνƒœλ₯Ό λ°˜ν™˜ν•˜λŠ” 순수 ν•¨μˆ˜. νλ¦„μ»΄ν¬λ„ŒνŠΈ - μ•‘μ…˜ 생성 - λ””μŠ€νŒ¨μΉ˜ - μŠ€ν† μ–΄ - λ¦¬λ“€μ„œ - μƒˆ μƒνƒœ - μ»΄ν¬λ„ŒνŠΈ λ¦¬λ Œλ”λ§  πŸ“Œ μƒνƒœ(State)전체 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ–΄λ””μ„œλ“  μ ‘κ·Όν•˜κ³  κ³΅ν†΅μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλ„λ‘ μ„ μ–Έλœ μ „μ—­λ³€μˆ˜μ™€ μœ μ‚¬ν•˜λ‹€. 단, λ¦¬λ•μŠ€λŠ” 단방ν–₯ 데이터 흐름을 κ°€μ§€λ―€λ‘œ μ½κΈ°λŠ” μ–΄λ””μ„œλ“  자유둭게 κ°€λŠ₯ν•˜μ§€λ§Œ μˆ˜μ •μ€ λ°˜λ“œμ‹œ μ•‘μ…˜μ„ ν†΅ν•΄μ„œλ§Œ 이루어진닀.  πŸ“Œ μŠ€ν† ..

React 2025.03.04

[HTML/CSS] 자주 μ“°λŠ” νƒœκ·Έ/μŠ€νƒ€μΌ

λ§μ€„μž„.review { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; word-break: break-all;} p { text-align: center; width: 100%; overflow: hidden; word-wrap: break-word;} `overflow: hidden;` λ°•μŠ€μ—μ„œ λ„˜μ³λ‚œ ν…μŠ€νŠΈ 숨기기`white-space: nowrap;` μ€„λ°”κΏˆμ΄ 없어짐`text-overflow: ellipsis;` ... λ§μ€„μž„ 효과`word-break: break-all;` μ–΄μ ˆμ΄ μœ μ§€λ˜μ§€ μ•Šκ³  λŠμ–΄μ Έμ„œ μ€„λ°”κΏˆ 됨`word-wrap : break-word;` widthλ₯Ό μ΄ˆκ³Όν•˜λ©΄ μ€„λ°”κΏˆ   λ°°κ²½ λΈ”λŸ¬(반투λͺ…)..

HTML, CSS 2024.10.17

[JavaScript] λ¬Έμžμ—΄ 비ꡐ

λ¬Έμžμ—΄ μƒμˆ˜ ν’€(string constant pool)μžλ°”κ°€ λ¬Έμžμ—΄μ„ string poolμ—μ„œ κ΄€λ¦¬ν•˜λ“―μ΄ μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” string constant poolμ—μ„œ λ¬Έμžμ—΄ λ©”λͺ¨λ¦¬λ₯Ό κ΄€λ¦¬ν•œλ‹€. λ§Œμ•½ 이미 λ©”λͺ¨λ¦¬μ— ν• λ‹Ήλœ λ¬Έμžμ—΄μ΄ μžˆλ‹€λ©΄, μƒˆ λ³€μˆ˜μ— ν•΄λ‹Ή λ¬Έμžμ—΄μ„ ν• λ‹Ήν•˜λ”λΌλ„ λ©”λͺ¨λ¦¬λ₯Ό μƒˆλ‘œ μƒμ„±ν•˜μ§€ μ•Šκ³  μ£Όμ†Œκ°’μ„ λ°˜ν™˜ν•œλ‹€.  How are strings stored in JavaScript ? - GeeksforGeeksA Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/compet..

JavaScript 2024.10.07

[JavaScript] Kakao Map API

πŸ“Œ 카카였맡 api μ‹œμž‘ν•˜κΈ° Kakao Developers카카였 APIλ₯Ό ν™œμš©ν•˜μ—¬ λ‹€μ–‘ν•œ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ°œλ°œν•΄λ³΄μ„Έμš”. 카카였 둜그인, λ©”μ‹œμ§€ 보내기, 친ꡬ API, 인곡지λŠ₯ API 등을 μ œκ³΅ν•©λ‹ˆλ‹€.developers.kakao.com  πŸŒ 지도 λ„μš°κΈ°Kakao Map APIλ₯Ό λ°œκΈ‰ λ°›μ•˜λ‹€λ©΄ 이제 지도λ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€. `html` νŒŒμΌμ— λ‹€μŒκ³Ό 같은 슀크립트λ₯Ό μΆ”κ°€ν•œλ‹€.   `html`에 `map`을 λ„μšΈ μ λ‹Ήν•œ μš”μ†Œλ₯Ό λ§Œλ“ λ‹€.   λ‹€μŒκ³Ό 같이 js μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ©΄ 지도λ₯Ό λ„μšΈ 수 μžˆλ‹€. const mapContainer = document.querySelector(".map"); // 지도λ₯Ό ν‘œμ‹œν•  div const mapOption = { center: new kakao.maps.Lat..

JavaScript 2024.09.19

[C++] 슀마트 포인터

포인터가 κ°€λ¦¬ν‚€λŠ” λ©”λͺ¨λ¦¬λ₯Ό μžλ™μœΌλ‘œ ν•΄μ œν•˜λŠ” 포인터. κ°œλ°œμžλŠ” λ©”λͺ¨λ¦¬ 관리에 크게 μ‹ κ²½ μ“Έ ν•„μš”κ°€ μ—†λ‹€. C++은 객체 생성 μ‹œ μ‚¬μš©ν–ˆλ˜ 동적 λ©”λͺ¨λ¦¬ λ˜λŠ” μ‹œμŠ€ν…œ μžμ›μ„ μ†Œλ©Έ μ‹œ μžλ™μœΌλ‘œ μ†Œλ©Έμ‹œν‚€λŠ” λ§€μ»€λ‹ˆμ¦˜μ„ μ œκ³΅ν•œλ‹€. λ²”μœ„λ₯Ό λ²—μ–΄λ‚œ λ³€μˆ˜λŠ” μŠ€νƒμ—μ„œ 제거되며, 객체의 μ†Œλ©Έμžκ°€ ν˜ΈμΆœλ˜μ–΄ μžμ‹ μ΄ μ‚¬μš©ν•˜λ˜ μžμ›μ„ μ•Œμ•„μ„œ μ •λ¦¬ν•œλ‹€. `auto_ptr` λ™μ μœΌλ‘œ ν• λ‹Ήλœ λ©”λͺ¨λ¦¬λ„ μžλ™μœΌλ‘œ ν•΄μ œν•˜λŠ” 래퍼 클래슀. // deprecated. use unique_ptr instead.`template class auto_ptr`포인터가 κ°€λ¦¬ν‚€λŠ” λŒ€μƒμ˜ νƒ€μž… T λ₯Ό 인자둜 λ°›μ•„ `T*` ν˜• 포인터λ₯Ό κ΄€λ¦¬ν•œλ‹€. μƒμ„±μžλ‘œ μ „λ‹¬λœ ν¬μΈν„°λŠ” μ†Œλ©Έμžμ—μ„œ delete 둜 ν•΄μ œν•œλ‹€. unique_ptr rate(new double)..

C, C++ 2024.09.19

[C++] STL

πŸ“ŒSTL(Standard Template Library)ν‘œμ€€ ν…œν”Œλ¦Ώ 라이브러리. 자료ꡬ쑰(μ»¨ν…Œμ΄λ„ˆ, μ΄ν„°λ ˆμ΄ν„°, μ•Œκ³ λ¦¬μ¦˜)λ₯Ό λͺ¨μ•„놓은 라이브러리.μ»¨ν…Œμ΄λ„ˆ(자료ꡬ쑰), 반볡자(iterator), μ•Œκ³ λ¦¬μ¦˜, 수치기λŠ₯을 μ œκ³΅ν•˜κ³  μ†μ‰½κ²Œ κ΅¬ν˜„ν•  수 μžˆλ„λ‘ μž¬μ‚¬μš©μ„ λͺ©μ μœΌλ‘œ λ§Œλ“€μ–΄μ§„ 라이브러리. Cμ–Έμ–΄λŠ” CRT(C Runtime Library)λΌλŠ” μ΄λ¦„μ˜ 라이브러리λ₯Ό, C++은 C++ Standard Libraryλ₯Ό κ°€μ§€κ³  μžˆλ‹€. 1994λ…„ C++ ν‘œμ€€ λΌμ΄λΈŒλŸ¬λ¦¬μ— STL이 μΆ”κ°€λ˜μ—ˆλ‹€.ν‘œμ€€ ν…œν”Œλ¦Ώ λΌμ΄λΈŒλŸ¬λ¦¬λΌλŠ” 뜻 κ·ΈλŒ€λ‘œ μΌλ°˜ν™” ν”„λ‘œκ·Έλž˜λ°(Generic Programming)을 기반으둜 λ¬΄λΆ„λ³„ν•œ μ—¬λŸ¬κ°€μ§€ ν˜•νƒœμ˜ μ½”λ“œλ₯Ό μ§€μ–‘ν•˜κ³  ν‘œμ€€ν™”λœ μ½”λ“œλ₯Ό μ§€ν–₯ν•œλ‹€. ν‘œμ€€μ΄λ―€λ‘œ 이식성이 μ’‹λ‹€.각 μžλ£Œκ΅¬μ‘°λ§ˆλ‹€ μ„±λŠ₯의 차이가 있..

C, C++ 2024.09.05

[C++] ν…œν”Œλ¦Ώ(Template)

πŸ“Œν…œν”Œλ¦Ών•¨μˆ˜λ‚˜ 클래슀λ₯Ό κ°œλ³„μ μœΌλ‘œ λ‹€μ‹œ μž‘μ„±ν•˜μ§€ μ•Šμ•„λ„, μ—¬λŸ¬ μžλ£Œν˜•μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλ„λ‘ λ§Œλ“€μ–΄λ†“μ€ ν‹€. μ—¬λŸ¬ νƒ€μž…μ—μ„œ λ™μž‘ν•  수 μžˆλŠ” ν•¨μˆ˜λ₯Ό μ°μ–΄λ‚΄λŠ” ν‹€. λ‹€μ–‘ν•œ νƒ€μž…μ— λŒ€ν•΄μ„œ ν•˜λ‚˜μ˜ ν•¨μˆ˜λ§Œ μ •μ˜ν•˜μ—¬ μ‚¬μš©ν•  수 μžˆλ‹€. μ΄λŸ¬ν•œ ν˜•νƒœμ˜ ν•¨μˆ˜κ°€ μžˆλ‹€λŠ” κ²ƒλ§Œ 약속해두고, ν•¨μˆ˜κ°€ ν˜ΈμΆœλ˜λŠ” μ‹œμ μ— 인자의 νƒ€μž…μ— 따라 μ‹€μ œ ν•¨μˆ˜μΈ ν…œν”Œλ¦Ώ μΈμŠ€ν„΄μŠ€ ν•¨μˆ˜λ₯Ό λ§Œλ“ λ‹€.(μ»΄νŒŒμΌλŸ¬κ°€ μ „λ‹¬λœ νƒ€μž…μ„ κ²€μ‚¬ν•˜μ—¬ 그에 ν•΄λ‹Ήν•˜λŠ” ν•¨μˆ˜λ₯Ό μƒμ„±ν•œλ‹€.) // ν•¨μˆ˜ ν…œν”Œλ¦Ώtemplate T FunctionTemplate(T a, T b) { ...}// 클래슀 ν…œν”Œλ¦Ώtemplate class MyClass {public: MyClass(T a) { this->a = a; }private : T a;}   πŸ“Œν•¨..

C, C++ 2024.08.29

[C++] 상속(Inheritance)

πŸ“Œμƒμ†μ½”λ“œμ˜ 쀑볡을 쀄이고 μž¬μ‚¬μš©μ„±μ„ 높이기 μœ„ν•΄ 클래슀 κ°„μ˜ 상속 관계λ₯Ό μ •μ˜ν•  수 μžˆλ‹€.예λ₯Ό λ“€μ–΄ `name`κ³Ό `address`λ₯Ό κ°–λŠ” `RagularEmployee`와 `TemporaryEmployee`κ°€ μžˆμ„ λ•Œ, λ‘˜μ„ ` Employee`둜 μΌλ°˜ν™”ν•˜μ—¬ μ •μ˜ν•˜κ³  상속받아 μ‚¬μš©ν•  수 μžˆλ‹€.  #include using namespace std;class Employee {public : Employee() { } Employee(const char* name, const char* address) { this->name = new char[strlen(name) + 1]; this->address = new char[strlen(address) + 1]; strcpy_s(this->nam..

C, C++ 2024.08.29

[CSS] Flex box

πŸ“ŒFlex boxν–‰κ³Ό μ—΄ ν˜•νƒœλ‘œ μžμ‹ μš”μ†Œλ₯Ό λ°°μΉ˜ν•˜λŠ” λ ˆμ΄μ•„μ›ƒ 속성. λΆ€λͺ¨ μš”μ†Œ 내뢀에 ν¬ν•¨λœ μžμ‹ μš”μ†Œλ“€μ„ μ„Έλ‘œ, κ°€λ‘œ 쀑심뢀에 μ •λ ¬ν•˜κ±°λ‚˜, μžμ‹ μš”μ†Œμ˜ λ„ˆλΉ„λ₯Ό λ™μΌν•˜κ²Œ μ„€μ •ν•  수 μžˆλ‹€. πŸ“Œμ†μ„± html, body{ margin : 0; padding: 0;}.parent{ width: 500px; height: 600px; background-color: pink; display: flex; flex-direction: column; align-items: center; }.child{ width: 100px; height: 100px..

HTML, CSS 2024.08.28

[C++] 객체 μ§€ν–₯

객체지ν–₯의 근간이 λ˜λŠ” μ–Έμ–΄. κΈ°λ³Έ λ‹¨μœ„λ₯Ό 객체둜 ν•œλ‹€.좔상화, μΊ‘μŠν™”, λ‹€ν˜•μ„±, 상속상속과 λ‹€ν˜•μ„±μ„ μ‚¬μš©ν•΄ μž¬μ‚¬μš©μ„±μ„ λ†’μž„μœΌλ‘œμ¨ μ½”λ“œλ₯Ό 쀄일 수 있음.객체: Object. 사물을 λ‚˜νƒ€λ‚΄λŠ” 좔상적인 κ°œλ….μ ˆμ°¨ν˜• ν”„λ‘œκ·Έλž˜λ°: κΈ°λŠ₯ λ‹¨μœ„ ⇒ ν•¨μˆ˜κ°μ²΄μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°: κΈ°λŠ₯ λ‹¨μœ„ ⇒ 객체(클래슀. λ³€μˆ˜+ν•¨μˆ˜) πŸ“Œν΄λž˜μŠ€(Class)연관이 μžˆλŠ” 데이터와 κ·Έ 데이터λ₯Ό λ‹€λ£¨λŠ” ν•¨μˆ˜λ₯Ό ν•˜λ‚˜λ‘œ λ¬Άμ–΄ 놓은 좔상적 λ°μ΄ν„°ν˜•(μ‚¬μš©μž μ •μ˜ νƒ€μž…). 멀버 λ³€μˆ˜μ™€ 멀버 ν•¨μˆ˜λ₯Ό κ°€μ§„λ‹€.μƒμ„±μž, μ†Œλ©Έμž(C#, Java, JavaScriptμ—μ„œλŠ” μ‚¬μš©ν•˜μ§€ μ•ŠμŒ), 멀버 λ³€μˆ˜, λ©”μ„œλ“œ. κ°μ²΄ μƒμ„±μŠ€νƒ λ©”λͺ¨λ¦¬μ—μ„œ 객체λ₯Ό μƒμ„±ν•˜λŠ” 방법: λ³€μˆ˜ μ„ μ–Έ void exampleFunction() { TV myTV; // μŠ€νƒ λ©”λͺ¨λ¦¬μ— 생성 ..

C, C++ 2024.08.19

[C] 동적 λ©”λͺ¨λ¦¬ ν• λ‹Ή

πŸ“Œμ •μ  λ©”λͺ¨λ¦¬ ν• λ‹Ή Cμ–Έμ–΄μ—μ„œ 배열을 μ„ μ–Έν•˜λ €κ³  ν•  λ•Œ, λ‹€μŒκ³Ό 같이 λ³€μˆ˜λ‘œ 길이λ₯Ό μ„ μ–Έν•˜λ €κ³  ν•˜λ©΄ 컴파일 였λ₯˜κ°€ λ°œμƒν•œλ‹€. #include int main() { int input; printf("λ°°μ—΄μ˜ 크기λ₯Ό μž…λ ₯ν•˜μ„Έμš”: "); scanf_s("%d", &input); int arr[input]; // 컴파일 μ—λŸ¬: 식에 μƒμˆ˜ 값이 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. return 0;}  μ½”λ“œ λ‚΄ 직접 λ³€μˆ˜λ₯Ό μ„ μ–Έν•  λ•ŒλŠ” λ©”λͺ¨λ¦¬λ₯Ό 컴파일 μ‹œμ μ— ν• λ‹Ή λ°›λŠ”λ‹€. μ΄λŠ” μ‹œμŠ€ν…œμ΄ μ•Œμ•„μ„œ νƒ€μž…μ„ ν™•μΈν•˜κ³  λ©”λͺ¨λ¦¬λ₯Ό ν• λ‹Ήν•˜λŠ” 것을 μ˜λ―Έν•œλ‹€. μ „μ—­ λ³€μˆ˜λ₯Ό μ œμ™Έν•œ λͺ¨λ“  λ³€μˆ˜λŠ” μŠ€νƒ μ˜μ—­μ— ν• λ‹Ήλ˜λ©° ν•¨μˆ˜κ°€ μ’…λ£Œλ˜λ©΄ μ†Œλ©Έν•œλ‹€. 이렇듯 컴파일 μ‹œμ μ— μ •ν•΄μ§€λŠ” λ©”λͺ¨λ¦¬λ₯Ό 정적 λ©”λͺ¨λ¦¬ 할당이라고 ν•œλ‹€.  πŸ“Œλ™μ  λ©”λͺ¨λ¦¬ ν• λ‹Ήμž…λ ₯값에 따라 배열을..

C, C++ 2024.08.13

[C] ꡬ쑰체, 곡용체

πŸ“Œκ΅¬μ‘°μ²΄(struct)μ‚¬μš©μž μ„ μ–Έ νƒ€μž…. ν•˜λ‚˜ μ΄μƒμ˜ λ³€μˆ˜λ₯Ό ν•˜λ‚˜λ‘œ λ¬Άμ–΄ μƒˆλ‘œμš΄ μžλ£Œν˜•μ„ λ§Œλ“œλŠ” 것.포인터 λ³€μˆ˜λ‚˜ 배열도 λ©€λ²„λ‘œ κ°€μ§ˆ 수 μžˆλ‹€. ν¬μΈν„°λ‘œ ꡬ쑰체λ₯Ό μ°Έμ‘°ν•  수 μžˆλ‹€.  #include struct Student { char name[100]; int age, height;}int main(){ struct Student student; printf("이름을 μž…λ ₯ν•˜μ„Έμš”: "); scanf_s("%s", &student.name, sizeof(student.name)); printf("λ‚˜μ΄λ₯Ό μž…λ ₯ν•˜μ„Έμš”: "); scanf_s("%d", &student.age); printf("ν‚€λ₯Ό μž…λ ₯ν•˜μ„Έμš”(cm): "); scanf_s("%d", &student.height); prin..

C, C++ 2024.08.13

[μ•Œκ³ λ¦¬μ¦˜] 이진 탐색(이뢄 탐색)

πŸ“Œμ΄μ§„ 탐색(Binary Search)μ£Όμ–΄μ§„ λ°°μ—΄μ˜ 쀑간값과 μ°Ύκ³ μžν•˜λŠ” ν‚€κ°’μ˜ λŒ€μ†Œλ₯Ό λΉ„κ΅ν•˜μ—¬, 배열을 절반으둜 λ‚˜λˆ„μ–΄κ°€λ©° κ°’μ˜ 유무λ₯Ό νƒμƒ‰ν•˜λŠ” 검색 μ•Œκ³ λ¦¬μ¦˜. 쀑간값이 킀값보닀 크면 반으둜 λ‚˜λˆˆ λ°°μ—΄μ˜ 였λ₯Έμͺ½ λΆ€λΆ„μ—μ„œ λ‹€μ‹œ νƒμƒ‰ν•˜κ³ , 쀑간값이 킀값보닀 μž‘λ‹€λ©΄ μ™Όμͺ½ λ°°μ—΄μ—μ„œ μž¬νƒμƒ‰ν•œλ‹€. ν•œ 번 비ꡐ할 λ•Œλ§ˆλ‹€ 배열이 절반으둜 μ€„μ–΄λ“€κ²Œ λ˜λ―€λ‘œ λ°°μ—΄μ˜ 크기가 컀지더라도 검색 효율이 μ’‹λ‹€. μ‹œκ°„ λ³΅μž‘λ„λŠ” `O(logN)`.  단, ν‚€κ°’κ³Ό μ€‘κ°„κ°’μ˜ λŒ€μ†Œλ₯Ό λΉ„κ΅ν•˜κΈ° λ•Œλ¬Έμ— 배열이 λ°˜λ“œμ‹œ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬λ˜μ–΄ μžˆμ–΄μ•Ό ν•œλ‹€.    πŸ“Œκ΅¬ν˜„μ–Έμ–΄: C #include int BinarySearch(int* arrPtr, int lower, int upper, int middle, int key) { // 인덱슀 λ°˜ν™˜ i..

[C] Cμ–Έμ–΄ 기초

πŸ“Œμ „μ—­λ³€μˆ˜/μ§€μ—­λ³€μˆ˜Cμ–Έμ–΄μ˜ μ „μ—­λ³€μˆ˜λŠ” mainν•¨μˆ˜ λ°”κΉ₯에 μ„ μ–Έν•œλ‹€. ⇒ μ§€μ–‘ν•  것.정적 λ³€μˆ˜λŠ” static ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œλ‹€. ν•¨μˆ˜κ°€ λλ‚˜λ„ μ†Œλ©Έλ˜μ§€ μ•ŠλŠ”λ‹€.  πŸ“Œν¬μΈν„°* ν‚€μ›Œλ“œλ₯Ό λΆ™μ—¬μ„œ μ„ μ–Έν•œλ‹€. (κ°„μ ‘ μ—°μ‚°μžμ™€ λ‹€λ₯Έ 의미λ₯Ό κ°€μ§€λ―€λ‘œ ν—·κ°ˆλ¦¬μ§€ 말 것. ν¬μΈν„°μž„μ„ λͺ…μ‹œν•˜λŠ” ν‚€μ›Œλ“œλ‘œ μƒκ°ν•˜μž.) int a = 1;int *ptr = &a; ν¬μΈν„° λ³€μˆ˜λŠ” λ©”λͺ¨λ¦¬μ˜ μ£Όμ†Œλ₯Ό κ°€μ§„λ‹€. μ£Όμ†Œ 값은 μ •μˆ˜λ‘œ λ˜μ–΄μžˆμœΌλ―€λ‘œ 4byteκ°€ λœλ‹€. (단, 64λΉ„νŠΈμ˜ 경우 8byteκ°€ 될 수 μžˆλ‹€.)& μ£Όμ†Œ μ—°μ‚°μž: μ£Όμ†Œλ₯Ό λ°˜ν™˜ν•œλ‹€.* κ°„μ ‘ μ—°μ‚°μž: κ·Έ μ£Όμ†Œμ— κ°€μ„œ 값을 λ°˜ν™˜ν•œλ‹€.  μ΄μ€‘ 포인터(ν¬μΈν„°μ˜ 포인터)int a = 1;int* ptr = &a;int** ptrPtr = &ptr; void ν¬μΈν„°νƒ€μž…μ„ μ•Œ 수 μ—†μ§€λ§Œ..

C, C++ 2024.08.09

[Lv.1] μΆ”μ–΅ 점수

문제 μ„€λͺ…사진듀을 보며 좔얡에 μ –μ–΄ 있던 λ£¨λŠ” μ‚¬μ§„λ³„λ‘œ μΆ”μ–΅ 점수λ₯Ό λ§€κΈ°λ €κ³  ν•©λ‹ˆλ‹€. 사진 속에 λ‚˜μ˜€λŠ” 인물의 그리움 점수λ₯Ό λͺ¨λ‘ ν•©μ‚°ν•œ 값이 ν•΄λ‹Ή μ‚¬μ§„μ˜ μΆ”μ–΅ μ μˆ˜κ°€ λ©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ 사진 속 인물의 이름이 `["may", "kein", "kain"]`이고 각 인물의 그리움 μ μˆ˜κ°€ `[5점, 10점, 1점]`일 λ•Œ ν•΄λ‹Ή μ‚¬μ§„μ˜ μΆ”μ–΅ μ μˆ˜λŠ” 16(5 + 10 + 1)점이 λ©λ‹ˆλ‹€. λ‹€λ₯Έ 사진 속 인물의 이름이 `["kali", "mari", "don", "tony"]`이고 `["kali", "mari", "don"]`의 그리움 μ μˆ˜κ°€ 각각 `[11점, 1점, 55점]]`이고, `"tony"`λŠ” 그리움 μ μˆ˜κ°€ 없을 λ•Œ, 이 μ‚¬μ§„μ˜ μΆ”μ–΅ μ μˆ˜λŠ” 3λͺ…μ˜ 그리움 점수λ₯Ό ν•©ν•œ 67(11 + 1 + 55)μ μž…λ‹ˆλ‹€...

[JavaScript] λ°°μ—΄

πŸ“Œλ°°μ—΄(Array)μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ 배열은 일반적인 λ°°μ—΄μ˜ μš”μ†Œλ₯Ό 흉내낸 특수 객체닀.μžλ°”μŠ€ν¬λ¦½νŠΈμ— λ°°μ—΄μ΄λΌλŠ” νƒ€μž…μ€ μ‘΄μž¬ν•˜μ§€ μ•ŠμœΌλ©° 객체둜 μ·¨κΈ‰ν•œλ‹€. μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ 배열은 일반적인 의미의 λ°°μ—΄, 즉 '각 μš”μ†Œκ°€ λ™μΌν•œ 데이터 크기λ₯Ό κ°€μ§€λ©° μ—°μ†μ μœΌλ‘œ λ‚˜μ—΄λœ 자료ꡬ쑰'κ°€ μ•„λ‹Œ ν¬μ†Œ λ°°μ—΄λ‘œ, 각 λ©”λͺ¨λ¦¬ 곡간은 동일은 크기λ₯Ό κ°–μ§€ μ•Šμ•„λ„ 되며 μ—°μ†μ μœΌλ‘œ μ΄μ–΄μ Έμžˆμ§€ μ•Šμ„ μˆ˜λ„ μžˆλ‹€. μžλ°”μŠ€ν¬λ¦½νŠΈ 배열은 ν•΄μ‹œ ν…Œμ΄λΈ”λ‘œ κ΅¬ν˜„λœ 객체둜, 일반적인 λ°°μ—΄κ³Ό 달리 인덱슀둜 λ°°μ—΄ μš”μ†Œμ— μ ‘κ·Όν•˜λŠ” κ²½μš°μ—λŠ” 속도가 λŠλ¦¬μ§€λ§Œ νŠΉμ • μš”μ†Œλ₯Ό κ²€μƒ‰ν•˜κ±°λ‚˜ μ‚½μž… λ˜λŠ” μ‚­μ œν•˜λŠ” 경우 λΉ λ₯Έ 속도λ₯Ό 보인닀.   πŸ“Œν™•인`isArray()`μ „λ‹¬λœ μΈμžκ°€ 배열이면 `true`λ₯Ό λ°˜ν™˜ν•œλ‹€.  πŸ“Œμ‚½μž…`push()` λ°°μ—΄μ˜ 맨 뒀에 μš”μ†Œλ₯Ό μ‚½μž…ν•˜κ³  ..

JavaScript 2024.06.19

[Lv.1] 숫자 λ¬Έμžμ—΄κ³Ό μ˜λ‹¨μ–΄

문제 μ„€λͺ…λ„€μ˜€μ™€ ν”„λ‘œλ„κ°€ μˆ«μžλ†€μ΄λ₯Ό ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ„€μ˜€κ°€ ν”„λ‘œλ„μ—κ²Œ μˆ«μžλ₯Ό κ±΄λ„¬ λ•Œ μΌλΆ€ μžλ¦Ώμˆ˜λ₯Ό μ˜λ‹¨μ–΄λ‘œ λ°”κΎΌ μΉ΄λ“œλ₯Ό κ±΄λ„€μ£Όλ©΄ ν”„λ‘œλ„λŠ” μ›λž˜ μˆ«μžλ₯Ό μ°ΎλŠ” κ²Œμž„μž…λ‹ˆλ‹€.λ‹€μŒμ€ μˆ«μžμ˜ μΌλΆ€ μžλ¦Ώμˆ˜λ₯Ό μ˜λ‹¨μ–΄λ‘œ λ°”κΎΈλŠ” μ˜ˆμ‹œμž…λ‹ˆλ‹€.1478 → "one4seveneight"234567 → "23four5six7"10203 → "1zerotwozero3"μ΄λ ‡κ²Œ 숫자의 일뢀 μžλ¦Ώμˆ˜κ°€ μ˜λ‹¨μ–΄λ‘œ λ°”λ€Œμ–΄μ‘Œκ±°λ‚˜, ν˜Ήμ€ λ°”λ€Œμ§€ μ•Šκ³  κ·ΈλŒ€λ‘œμΈ λ¬Έμžμ—΄ `s`κ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§‘λ‹ˆλ‹€. `s`κ°€ μ˜λ―Έν•˜λŠ” μ›λž˜ 숫자λ₯Ό return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”. μˆ«μžμ˜λ‹¨μ–΄0zero1one2two3three4four5five6six7seven8eight9nine   μ œν•œ 사항1 ≤ s의 κΈΈμ΄ ≤ 50sκ°€ "zero" λ˜λŠ” ..