전체 글 109

(매일 BOJ) C++ 17863번 FYI

이번 문제는 17863번 FYI이다.1. 문제 개요문제 내용: 7자리의 전화번호가 주어졌을 때, 앞의 세 자리가 "555"로 시작하면 "YES", 그렇지 않으면 "NO"를 출력하는 프로그램핵심 포인트: 문자열의 인덱스(Index)에 접근하여 특정 위치의 문자를 비교할 수 있는가? 2. 문제 해결 전략문제를 해결하는 방법은 여러 가지가 있지만, 가장 직관적인 방법은 문자열의 0번, 1번, 2번 인덱스를 각각 확인하는 것먼저 b = true라고 가정합니다.반복문(for)을 통해 앞의 3글자를 하나씩 검사합니다.만약 하나라도 '5'가 아니면 b를 false로 바꾸고 탈출(break)합니다.마지막에 b의 상태에 따라 "YES" 또는 "NO"를 출력합니다.백준(Baekjoon Online Judge) 17863번..

매일 BOJ 2026.01.05

(2025-2) 컴퓨터사고와 인공지능 기말고사 정리

프로그래밍개념저급 언어 : 컴퓨터가 쉽게 이해할 수 있는 언어, 실행속도가 빠르고 성능이 뛰어남기계어 / 어셈블리고급 언어 : 인간이 사용하는 언어와 유사하게 만들어진 언어C, python 등컴파일러 : 소스파일을 기계어로 변환하여 실행파일을 만듬 / 실행속도가 빠름 / 수정할 떄마다 다시 실행파일을 만들어야 함인터프리터 : 실행파일을 만들지 않고 기계어로 바로 번역소스코드 : 사람이 판독할 수 있는 고급언어로 작성한 프로그램 코드목적코드 : 소스코드를 컴퓨터가 판독할 수 있게 이진수로 변환한 것파이썬 프로그래밍출력 : print()입력 : input() / 괄호 안에 출력할 ”문자“ 입력 가능몫 구하기 : a // b나머지 : a % b거듭제곱 : a ** b소문자로 변환 : text.lower()대문..

시험공부 2025.12.19

(2025-2) 컴퓨터사고와 인공지능 중간고사 정리

1. 인공지능개요인공지능의 구분좁은 인공지능 : 특정 분야에 특화된 인공지능범용 인공지능 : 인간과 유사한 수준의 지능을 갖춘 인공지능머신러닝과 딥러닝머신러닝 : 데이터를 기반으로 스스로 학습하게 하는 방법론딥러닝 : 뇌 구조를 모방한 인공신경망을 활용하여 컴퓨터가 데이터를 학습하는 방법인공지능의 필수 구성 요소알고리즘 : 문제를 해결할 때 따르는 단계적 절차, 규칙지도학습 : 레이블이 포함된 데이터를 사용하여 학습 (분류, 회귀)회귀 : 연속적인 값 예측분류 : 입력데이터 분류의사결정트리 : 데이터를 여러 기준으로 단계적 분류랜덤 포레스트 : 의사결정 트리의 결합서포트 백터 머신 : 두 그룹을 구분할 수 있는 결정경계를 설정k 최근접 이웃 : 가까운 이웃데이터를 참고하여 분류비지도학습 : 레이블이 없는..

시험공부 2025.12.18

(2025-2) Introduction to programming(2) 8. The C++ Libraries II

주제: 연관 컨테이너(ordered/unordered), 정렬/비교·해시·동등성 규칙, 삽입/탐색/삭제 API, pair/emplace, 버킷/로드팩터, 이터레이터 제약, 커스텀 비교자·해시, 문자열/스트림 유틸(문자열 스트림, 포맷팅 기초)🎯 학습 목표 (Exam Scope)[ ] 정렬 연관 컨테이너: map/multimap/set/multiset의 키 정렬, 유일성, 이터레이터 성격[ ] 비정렬(해시) 연관 컨테이너: unordered_map/unordered_set 계열의 버킷/로드팩터/재해시[ ] 공통 연산: insert/emplace, find/count, lower_bound/upper_bound/equal_range, erase[ ] pair/tuple 기본, map의 operator[] ..

시험공부 2025.12.18

(2025-2) Introduction to programming(2) 7. The C++ Libraries I (STL: 컨테이너 · 반복자 · 알고리즘 · 어댑터)

목표표준 라이브러리(일명 STL)의 3대 축: 컨테이너(Container) · 반복자(Iterator) · 알고리즘(Algorithm)을 연결해서 이해한다.시퀀스 컨테이너(vector, deque, list)의 차이와 선택 기준을 설명한다.반복자 카테고리와 const/비-const, 역방향/삽입/스트림 반복자를 활용한다.핵심 알고리즘(find, count, sort, unique, remove, transform, accumulate 등)을 람다/프레디케이트와 함께 사용한다.erase–remove idiom, back_inserter, ostream/istream_iterator 등 어댑터를 능숙히 쓴다.0) 한 장 요약컨테이너: 데이터를 담는 상자 (vector/deque/list …)반복자: 컨테이너..

시험공부 2025.12.18

(2025-2) Introduction to programming(2) 6. Classes

0. 미리 알면 좋은 것 (30초 정리)객체: 어떤 “상태(데이터)”와 “행동(함수)”를 한 덩어리로 묶은 것클래스: 객체를 만들기 위한 “설계도”캡슐화: 내부 데이터는 숨기고, 밖에는 필요한 기능만 공개접근 지정자: public(밖에서 호출 OK), private(클래스 안에서만)1. 가장 작은 클래스 만들어 보기코드#include #include using namespace std;class Person {public: // 한 줄 설명class Person { ... }; : Person이라는 “설계도” 정의public: : 이 아래는 밖에서 접근 가능name, age : 데이터(상태), introduce() : 행동(연산)Person p; : 실제 인스턴스(객체) 만들기..

시험공부 2025.12.18

(2025-2) Introduction to programming(2) 5. Functions

목표: 함수 정의/호출, 매개변수 전달 방식, 반환 규칙, 오버로딩, 선언/정의 분리(헤더), 가변 인자(initializer_list), 재귀, 포인터/배열 반환 규칙을 정확히 설명·구현한다.✅ 학습 체크포인트 (Exam Scope)[ ] 함수 구성요소(반환형/이름/매개변수/본문)와 호출 과정 설명 【】【】[ ] 인자 평가 순서 비보장, 타입/개수 일치 규칙 【】[ ] 지역/정적 지역 객체: 수명·초기화 타이밍 【】[ ] 선언(프로토타입) vs 정의, 헤더에 선언 권장 【】[ ] initializer_list에 의한 가변 개수 매개변수 【】[ ] 반환 규칙: 값/참조, 로컬 객체 참조/포인터 반환 금지 【】【】[ ] 참조 반환은 lvalue가 됨 【】[ ] 재귀와 종료 경로 필요성 【】[ ] “배열은 ..

시험공부 2025.12.18

(2025-2) Introduction to programming(2) 3. Strings, Vectors, and Arrays

수업일: 2025-09-16목표: 문자열 다루기(문자 분류/대소문자 변환), 안전한 인덱싱(size_type), 범위기반 for(값/참조), vector(동적 배열/반복자/용량), 배열·포인터 선언 해석, C-스타일 문자열 상호운용을 직관적으로 이해하고 안전하게 코딩한다.0) 큰 그림 한 장 요약string = 안전한 “글자 상자(동적 길이)”; 길이는 부호 없는 정수문자 처리 = : isalpha/isdigit/ispunct + tolower/toupper반복 = 범위기반 for (값 복사 ↔ 참조) / 전통 for (인덱스는 size_type)vector = “늘어나는 배열”; push_back, 용량(capacity), 반복자배열/포인터 = 선언 해석(괄호 결합), 포인터 산술, end 관용구상호운..

시험공부 2025.12.18

(2025-2) Introduction to programming(2) 4. Expressions & Statements

목표: C++의 연산자/표현식 의미, 문장 종류와 제어 흐름, 형 변환, 예외 처리를 시험에서 설명·코딩할 수 있다.1) 연산자 훑어보기 (개요)산술/논리/관계/대입/증감/멤버접근/조건(?:)/sizeof/콤마/비트 연산자 구성을 한 단원에서 다룸.슬라이드 인덱스: 산술→논리·관계→대입→증감→멤버→조건→sizeof→콤마→비트 순서로 소개됨.2) 논리/관계 연산자 & 단락 평가(short-circuit)&&는 둘 다 true일 때만 true, ||는 하나만 true여도 true. 왼쪽 피연산자를 먼저 평가하고 결과가 결정되면 오른쪽은 건너뛴다(단락 평가). !는 부정. 결과는 bool.관계 연산(, >=)은 bool 반환, 좌결합.// 오른쪽은 필요할 때만 평가됨ptr && *ptr == 42; // p..

시험공부 2025.12.18

(2025-2) Introduction to programming(2) 2. Variables, types (pointer, references,string)

수업일: 2025-09-08학습목표: C++의 기본 타입과 초기화, 포인터·레퍼런스 차이, string 기본 인터페이스를 이해하고 전형적인 함정을 피한다.🎯 학습 목표 (Exam Scope)[ ] 객체/이름/주소 개념을 설명할 수 있다.[ ] 레퍼런스와 포인터의 차이를 표와 코드로 설명할 수 있다.[ ] 초기화 4종(=, (), {}, 디폴트) 차이를 말할 수 있다.[ ] const/constexpr와 포인터-상수 조합을 읽고 쓸 수 있다.[ ] auto/decltype의 추론 규칙(특히 decltype((x)))을 구분할 수 있다.[ ] string의 생성/길이/비교/입력(>> vs getline)을 다룰 수 있다.[ ] 부호 혼합 연산의 함정을 예로 설명할 수 있다.🧠 큰 그림 요약객체(objec..

시험공부 2025.12.18