📄 문서 검색 성공 — Python 풀이문제 설명문서에서 특정 단어가 몇 번 등장하는지 세는 프로그램을 Python으로 작성합니다.중복되게 세지 않고, 발견할 때마다 단어의 길이만큼 건너뛰면서 세야 합니다.예를 들어, 문서가 aaaaaaa이고, 단어가 aa라면:0번 위치에서 aa 발견 → 건너뜀2번 위치에서 aa 발견 → 건너뜀4번 위치에서 aa 발견 → 건너뜀총 3번 등장합니다.아이디어1️⃣ 단어 길이만큼 슬라이싱해서 비교문서의 현재 위치에서 단어 길이만큼 잘라서 단어와 비교합니다.완전히 일치하면 등장 횟수를 하나 세고, 현재 위치를 단어 길이만큼 증가시킵니다.2️⃣ 하나라도 다르면 한 칸만 전진일치하지 않는다면 현재 위치를 한 칸만 이동해 다시 비교합니다.전체 코드# 입력받기arr = input()..
📄 문서 검색 성공 — C++ 풀이문제 설명주어진 문서에서, 특정 단어가 몇 번 등장하는지 세는 프로그램을 만듭니다.단, 등장할 때 겹치지 않도록 세야 합니다.즉, 어떤 위치에서 단어를 한 번 찾으면, 그 단어의 길이만큼 건너뛴 뒤부터 다시 찾기 시작합니다.예를 들어, 문서가 aaaaaaa이고, 단어가 aa라면:0번 위치에서 aa 발견 → 건너뜀2번 위치에서 aa 발견 → 건너뜀4번 위치에서 aa 발견 → 건너뜀총 3번 등장합니다.아이디어이 문제를 풀기 위해 두 가지 규칙을 세웠습니다.1️⃣ 단어 길이만큼 확인 후 일치하면 단어 길이만큼 건너뛰기현재 위치에서부터 단어의 길이만큼 문서의 문자열을 잘라서 비교합니다.비교한 결과 완전히 일치하면 단어의 길이만큼 인덱스를 증가시킵니다.이렇게 하면 겹치지 않고 ..
🔷 부분수열의 합📌 문제N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 프로그램을 작성하시오.📌 입력첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다.(1 ≤ N ≤ 20, |S| ≤ 1,000,000)둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다.주어지는 정수의 절댓값은 100,000을 넘지 않는다.📌 출력합이 S가 되는 부분수열의 개수를 출력한다.📌 예제 입력 15 0-7 -3 -2 5 8📌 예제 출력 11📌 예제 입력 23 31 2 3📌 예제 출력 22📌 문제 설명우리가 풀어야 하는 문제는 단순하지만 실수하기 쉽습니다.수열의 각 원소를 하나 이상 선택해 부분수열을 만든 뒤, 그 합..
🔷 부분수열의 합📌 문제N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 프로그램을 작성하시오.📌 입력첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다.(1 ≤ N ≤ 20, |S| ≤ 1,000,000)둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다.주어지는 정수의 절댓값은 100,000을 넘지 않는다.📌 출력합이 S가 되는 부분수열의 개수를 출력한다.📌 예제 입력 15 0-7 -3 -2 5 8📌 예제 출력 11📌 예제 입력 23 31 2 3📌 예제 출력 22📌 문제 설명우리가 풀어야 하는 문제는 단순하지만 실수하기 쉽습니다.수열의 각 원소를 하나 이상 선택해 부분수열을 만든 뒤, 그 합..
🌐 데이터그램 방식과 가상 회선 방식: 자세한 설명네트워크에서는 데이터를 목적지까지 전달하기 위해 작은 단위인 패킷으로 잘라 전송합니다.하지만 “패킷을 목적지까지 어떤 경로로 어떻게 보낼 것인가?”에 따라 방식이 달라집니다.그 대표적인 두 가지가 바로 데이터그램 방식과 가상 회선 방식입니다.둘 다 패킷을 전달하지만, 동작 방식이 완전히 다릅니다.🔷 데이터그램 방식: 경로를 정하지 않는 자유로운 방식📌 정의데이터그램 방식은 비연결형 통신을 의미합니다.비연결형이란, 데이터를 전송하기 전에 ‘통신 경로’를 설정하지 않는다는 뜻입니다.패킷이 네트워크에 도착하면, 네트워크 안의 라우터가 그때그때 상황에 맞춰 목적지까지의 길을 선택합니다.패킷마다 선택된 경로가 다를 수도 있습니다.📌 동작 과정1️⃣ 출발지에..
✅ 응집도📌 응집도의 정의응집도(cohesion) 는 하나의 모듈 내부에서 수행하는 작업들이 서로 얼마나 밀접하게 관련되어 있는지를 나타내는 정도입니다.모듈은 프로그램을 구성하는 작은 단위로, 함수, 클래스, 파일 등으로 구현됩니다.모듈 내부의 작업들이 모두 하나의 목표를 위해 협력하면 응집도가 높고, 서로 다른 목적의 작업들이 섞여 있으면 응집도가 낮습니다.응집도는 소프트웨어 설계 품질을 평가하고 유지보수성을 높이는 중요한 기준입니다.📌 응집도의 필요성응집도가 중요한 이유는 프로그램을 더 잘 이해하고 유지보수하기 위해서입니다.응집도가 낮은 모듈은 여러 목적의 코드가 섞여 있어 수정 시 다른 기능에 영향을 주고 오류를 유발하기 쉽습니다.반대로 응집도가 높은 모듈은 하나의 목적에 집중되어 수정이 간단하..
🧭 C언어 2차원 배열과 포인터 정리📌 2차원 배열의 메모리 구조2차원 배열을 선언합니다:int arr[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9};메모리 안에는 이렇게 저장됩니다:[1][2][3][4][5][6][7][8][9]즉, row-major order로 1차원 배열처럼 일렬로 저장됩니다.그렇다면 여기서 arr[1]에 저장된 값은 일렬로 저장된 배열에서처럼 2가 저장돼 있을까요? 이를 하나씩 살펴보기로 합니다.📌 포인터가 가리키는 위치2차원 배열에서 포인터로 접근할 때, 표현에 따라 가리키는 의미가 달라집니다.🔷 arrarr는 배열의 이름이고, 타입은 int[3][3]입니다.하지만 포인터처럼 쓰일 때는 첫 번째 행 전체의 주소입니다.즉:arr ≡ &a..
🧭 포인터 증감 연산 완전정복: 배열 위를 걷는 화살표C언어를 배우다 보면 가장 많이 하는 질문 중 하나가 있습니다.“왜 p++을 하면 값이 커지는 게 아니라 다음 데이터를 가리키는 것인가요?”이 글에서는 그 질문에 답하기 위해 포인터가 무엇인지, 증감 연산이 어떻게 동작하는지, 메모리에서의 움직임을 직관적으로 이해할 수 있도록 풀어 설명합니다.중간중간 표와 다이어그램으로 현재 상태를 시각화하되, 본문 설명이 중심이 되도록 구성했습니다.📌 포인터란?포인터는 값이 아닌, 값이 저장된 메모리의 주소를 저장하는 변수입니다.예를 들어 int x = 42;일 때, &x는 x가 저장된 메모리의 주소입니다.이 주소를 담는 변수가 포인터이며, int* p = &x;라고 선언합니다.p는 x의 위치를 가리키며, *p라..
📖 첨도란 정의 첨도(kurtosis)란 데이터 분포가 평균을 기준으로 중심에 얼마나 집중되어 있고, 꼬리가 얼마나 두껍거나 얇은지를 나타내는 통계량입니다. 첨도는 데이터 분포의 모양을 수치로 표현하는 지표입니다. 정확히는, 데이터가 평균 근처에 얼마나 많이 모여 있는지, 그리고 평균에서 멀리 떨어진 꼬리 부분이 얼마나 두꺼운지를 종합적으로 수량화합니다. 첨도의 값은 다음과 같이 해석합니다. 첨도 = $3$ → 정규분포와 같은 형태, 기준값 첨도 > $3$ → 중심이 뾰족하고 꼬리가 두꺼운 분포 첨도 첨도는 흔히 분포를 산 모양에 비유하기도 합니다. 정규분포는 표준적인 산 모양으로, 첨도가 $3$입니다. 중..
📖 왜도란 정의 왜도(skewness)란 데이터 분포가 평균을 기준으로 좌우 대칭인지 여부와 비대칭의 방향을 나타내는 통계량입니다. 왜도는 데이터의 분포 모양을 수치로 표현하는 지표입니다. 정확히는, 분포가 평균을 기준으로 어느 쪽으로 더 멀리 뻗어 있는지를 나타내며, 분포의 비대칭성을 수량화합니다. 왜도의 값은 다음과 같이 해석합니다. 왜도가 $0$이면 데이터가 대칭 분포임을 의미합니다. 왜도가 양수이면 데이터의 오른쪽 꼬리가 더 길어져 오른쪽으로 치우친 비대칭 분포입니다. 왜도가 음수이면 데이터의 왼쪽 꼬리가 더 길어져 왼쪽으로 치우친 비대칭 분포입니다. 예를 들어, 시험 점수 데이터에서 대부분이 $70$점 근처에 ..
- Total
- Today
- Yesterday
- c언어
- 그리디알고리즘
- 상속
- 알고리즘
- 알고리즘 문제풀이
- 알고리즘문제풀이
- 문자열처리
- 그래프 탐색
- 브루트포스
- Python
- 동적 계획법
- dfs
- 코딩테스트
- 파이썬코딩
- 프로그래머스
- 프로그래밍
- HTML
- 알고리즘기초
- 백준
- 객체지향
- 코딩 테스트
- 문제 풀이
- 그리디
- DP
- 동적계획법
- 파이썬
- 코딩
- C++
- 문제풀이
- python 알고리즘
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 |