전체 글 15

반도체 소자: 메모리 반도체 vs 비메모리 반도체

📘 반도체 소자의 이해: 메모리 반도체 vs 비메모리 반도체1. 반도체란 무엇인가?반도체는 전기 전도율이 도체와 절연체의 중간에 위치하는 물질로, 대표적으로 실리콘(Si)이 사용됩니다.전기를 흐르게도, 막기도 할 수 있어 전자 소자의 핵심 재료로 쓰이며, 정보의 저장·처리·전달에 필수적인 부품입니다. 2. 반도체 소자의 분류반도체는 기능에 따라 크게 메모리 반도체와 비메모리 반도체로 구분됩니다.메모리 반도체 (Memory Semiconductor)→ 데이터를 저장하는 역할비메모리 반도체 (Non-Memory Semiconductor)→ 데이터를 처리하거나 제어하는 역할 3. 메모리 반도체란? 📌 정의메모리 반도체는 데이터를 저장하는 역할을 하는 반도체입니다.스마트폰, 컴퓨터, 서버 등 모든 디지털 ..

개발자 2025.04.22

[코딩테스트-SWEA] 3차원 농부 - Java 이진 탐색 문제 풀이

안녕하세요, 오늘은 삼성 SW Expert Academy의 "3차원 농부" 문제를 Java로 풀이한 내용을 공유드립니다. 이 문제는 대용량 데이터를 다루는 상황에서 이진 탐색을 활용해야 하는 전형적인 문제입니다.📚 목차문제 개요문제 조건 요약핵심 아이디어알고리즘 설계자바 코드예제 입력/출력시간 복잡도마무리 정리1. 문제 개요농부 지민이는 특이하게도 소와 말을 3차원 공간에서 기릅니다. 모든 소는 (c1, 0, z) 위치에, 모든 말은 (c2, 0, z) 위치에 존재합니다.소와 말 사이의 맨해튼 거리가 가까우면 이산화탄소가 많이 발생하므로, 지민이는 가장 가까운 소-말 쌍의 거리와 그러한 쌍의 개수를 알고 싶어합니다.2. 문제 조건 요약소와 말 각각 최대 50만 마리 (N, M ≤ 500,000)위치는 ..

[C++] std::function 완벽 정리

🔥 1. std::function이란?std::function은 함수를 객체처럼 다룰 수 있도록 도와주는 클래스 템플릿.이걸 사용하면 함수 포인터뿐만 아니라 람다(lambda), 멤버 함수, 일반 함수 등 다양한 호출 가능한 객체(Callable Object)를 저장하고 실행할 수 있다📌 헤더 파일#include 🚀 2. std::function 기본 사용법✅ 2-1. 함수 포인터 저장#include #include // 일반 함수void hello() { std::cout func = hello; // 함수 저장 func(); // 실행 return 0;} 🔎  설명std::function : 매개변수 없이 void를 반환하는 함수를 저장하는 타입func = hello; :..

개발자/개발 2025.03.23

[C++] 람다 표현식

📌 C++ 람다 표현식(Lambda Expression)C++에서 람다 표현식(lambda expression)**은 익명 함수(Anonymous Function)를 생성하는 기능이다.즉, 함수의 이름 없이 즉석에서 정의하고 사용할 수 있는 간단한 함수이다.📢 기존의 함수 포인터나 std::function보다 간결하게 함수를 정의하고 사용할 수 있음!✅ 람다 표현식 기본 문법[캡처](매개변수) -> 반환형 { 함수 본문 }; 요소설명[]캡처(Capture): 람다 내부에서 외부 변수 접근 여부 지정()매개변수(Parameter): 일반 함수처럼 매개변수 지정-> 반환형(선택 사항) 반환형 명시 (auto로 생략 가능){}함수 본문(Body): 람다에서 실행할 코드✅ 기본적인 람다 표현식 예제🔹 가장..

개발자/개발 2025.03.21

[C++] 함수 포인터

📌 C++ 함수 포인터(Function Pointer)란?C++에서 함수 포인터(Function Pointer)란, 함수의 주소를 저장하는 포인터를 의미한다.즉, 특정 함수의 주소를 저장하여 나중에 해당 함수를 호출할 수 있도록 한다.✅ 함수 포인터의 기본 문법함수 포인터를 선언할 때는 반환형과 매개변수 타입을 정확히 명시해야 한다.반환형 (*포인터이름)(매개변수 목록);🔹 함수 포인터 예제#include // 일반 함수 선언int add(int a, int b) { return a + b;}int main() { // 함수 포인터 선언 및 초기화 int (*funcPtr)(int, int) = add; // 함수 포인터를 사용하여 함수 호출 std::cout ✔ f..

개발자/개발 2025.03.21

[C++] 함수 객체 Functor

1. 함수 객체(Functor)란?함수처럼 동작하는 객체를 의미하며, operator() 연산자를 오버로딩하여 사용한다.일반적인 함수보다 상태를 저장할 수 있다는 점에서 차이가 있다.STL 알고리즘에서 함수 포인터 대신 자주 사용된다.🛠 함수 객체의 구현✅ 기본적인 Functor#include class Functor {public: void operator()() { // () 연산자 오버로딩 std::cout  📌 결과: 함수 객체가 호출되었습니다!🛠 함수 객체의 활용✅ 매개변수가 있는 Functor#include class Adder {private: int value;public: Adder(int val) : value(val) {} // 생성자에서 값 초기화 ..

개발자/개발 2025.03.21

[C++] 실무에서 많이 사용되는 const auto& (상수 참조)

📌 const auto& (상수 참조) 사용법과 활용C++에서 const auto&는 변수의 타입을 자동 추론하면서, 값이 변경되지 않도록 참조(Reference)로 전달하는 방법입니다.이 방식은 객체 복사를 방지하여 성능을 최적화하는 데 유용하며, 읽기 전용 데이터를 다룰 때 많이 사용됩니다.1️⃣ const auto&의 기본 개념const auto& 변수명 = 대상;const → 값 변경을 방지 (읽기 전용)auto → 자동 타입 추론& → 참조(Reference)를 사용하여 복사 방지💡 즉, const auto&는 원본을 변경하지 않으면서도 복사 비용을 줄이는 방법입니다.2️⃣ const auto&의 장점✅ 불필요한 복사 방지 → 복사가 발생하지 않아 성능 향상✅ 자동 타입 추론 → auto를 ..

개발자/개발 2025.03.13

[C++] 함수 호출 방식 (Call by Reference & Call by Value & Call by Pointer

기본적으로 C++에서 함수 호출 시 값을 넘겨주는 방식은 Call by Value(값 전달 방식) 입니다!즉, 매개변수에 원본 변수의 복사본이 전달되므로, 함수 내부에서 값을 변경해도 원본 변수에는 영향이 없습니다.1️⃣ Call by Value (값에 의한 호출)함수 호출 시 변수의 값을 복사하여 전달하는 방식입니다.즉, 함수 내에서 매개변수 값을 변경해도 원본 값은 그대로 유지됩니다.✅ Call by Value 예제#include using namespace std;void updateValue(int num) { // Call by Value num += 10; // num의 값만 변경됨 (원본 변수 변경 X) cout 🔹 출력 결과Inside function: 15After fun..

개발자/개발 2025.03.13

[프론트엔드] 자바스크립트 클로저

📌 JavaScript 클로저(Closure) 자세히 알아보기1️⃣ 클로저란?클로저(Closure)는 "함수와 그 함수가 선언된 렉시컬 환경을 함께 기억하는 구조".즉, 함수가 실행된 후에도 해당 함수의 지역 변수에 접근할 수 있는 개념.📌 쉽게 말하면"함수 안에서 선언된 함수가, 바깥 함수의 변수들을 기억하고 사용할 수 있도록 하는 것"2️⃣ 클로저를 이해하는 기본 개념🔹 렉시컬 스코프 (Lexical Scope)자바스크립트는 렉시컬 스코프(정적 스코프) 를 사용해!즉, 함수가 선언된 위치에서 변수를 찾는다. (실행 위치가 아니라 선언 위치 기준)function outer() { let outerVar = "나는 바깥 변수!"; function inner() { console.log(..

개발자/개발 2025.03.12

[사회초년생] 돈 관리하자! 돈 모으는 법! - 통장 쪼개기, 급여통장, 달달하나통장

저는 이번에 첫 회사에 입사를 하게 되었는데요,어떻게 해야 적절히 소비하면서 많은 돈을 모을 수 있을지 돈을 관리하는 방법에 대해 공부해보려 합니다.  경제와 금융에 평소에 관심이 없었어서,차근차근 한 단계씩 공부해나가는 과정을 정리해볼게요!  "통장쪼개기"각 목적에 맞는 통장으로돈의 흐름을 파악하자! 급여통장 매달 고정적으로 들어오는 월급 + 매달 고정적으로 나가는 고정 지출(통신비, 관리비, 대출상환, 보험료, 교통비, 월세 등)을 관리하기 위한 통장  소비통장변동지출(식비, 교육비, 생활비 등)을 관리하기 위한 통장  비상금통장비상계좌. 예상치 못한 지출을 대비하기 위한 통장.큰 병원비, 경조사비 등에 대비하기 위함.  투자/저축통장투자/저축을 관리하기 위한 통장.이 통장으로부터 적금, 주식, 펀드..

일상/돈관리 2025.02.13
반응형