공부기록
close
프로필 배경
프로필 로고

공부기록

  • 분류 전체보기 (77)
    • 유니티 프로젝트 (8)
      • VOLTA (0)
      • CakeGame (8)
    • 유니티 공부 (2)
      • isometric (2)
    • 백준 (48)
    • GPT (0)
    • 기타 (2)
    • 공부 (16)
      • 알고리즘 (3)
      • 자료구조 (0)
      • c++ (4)
      • c# (3)
      • 디자인패턴 (3)
      • CS (2)
      • 코드트리 (1)
  • 홈
  • 태그
  • 방명록
[c++] 빠른 입력 - fread로 입력 받기 (수정필요)

[c++] 빠른 입력 - fread로 입력 받기 (수정필요)

🎯 요약 정리cin은 빠르지 않음. sync_with_stdio(false)를 써도 fread에는 밀림.fread는 버퍼를 한 번에 통째로 읽기 때문에 cin보다 최대 수십 배 빠를 수 있음입력 받는 과정에서의 오버헤드를 줄여서 빠르게 처리하는 것. 🔍 코드 분석#define bsz 1 = 48) { ret = ret * 10 + tmp - 48; tmp = read(); } return ret;} 🔹 #define bsz 1 bsz는 버퍼 크기를 정하는 건데, 1 는 2의 14승 = 16,384 바이트 (16KB) 를 의미.즉, 한 번에 16KB만큼 입력을 미리 읽어놓겠다는 뜻버퍼의 크기를 몇으로 하든 상관은 없지만, 너무 작지만 않으면 되고 너무 크지만 않으면 된다. 크기를 키우기 전에 ..

  • format_list_bulleted 공부/c++
  • · 2025. 5. 5.
  • textsms
[C++] next_permutation & prev_permutation

[C++] next_permutation & prev_permutation

📌 개요C++의 헤더에는 순열을 생성하는 두 가지 함수가 있다next_permutation: 사전순 다음 순열을 생성prev_permutation: 사전순 이전 순열을 생성조합/순열 문제에서 굉장히 자주 쓰이며, 특히 비트마스크 조합 탐색과 찰떡궁합이다. 🧠 기본 원형bool next_permutation(Iterator first, Iterator last);bool prev_permutation(Iterator first, Iterator last);현재 순열을 기준으로 다음 / 이전 순열을 생성더 이상 만들 수 있는 순열이 없으면 false 반환 ✅ 예제 1: 숫자 순열 전체 출력vector v = {1, 2, 3};do { for (int x : v) cout 결과: 1 2 3 → 1 ..

  • format_list_bulleted 공부/c++
  • · 2025. 5. 3.
  • textsms
[c++] vs code 개발환경 셋팅 정리

[c++] vs code 개발환경 셋팅 정리

미래의 나를 위한...... 몰라서 고생했던거 1. 환경 변수 셋팅한걸 반영하려면 재부팅을 해야한다ㅋㅋ2..vscode 폴더 안에 tasks.json이 컴파일 관련, launch.json은 디버깅 관련 셋팅을 하는 파일인 것 같다. 🔨 컴파일러 셋팅gcc는 C 전용 컴파일러, g++는 C++ 전용 컴파일러다. c++을 컴파일 하려면 g++을 사용해야한다. 파일 경로에 한글이 있으면 컴파일이 안된다ㅋㅋ 📌 방법 1. 터미널에서 직접 g++로 빌드g++ -g your_file.cpp -o your_program.exe 📌 방법2. VSCode에서 빌드vscode 폴더 안에 tasks.json 열어서 "command": "gcc" 부분을 아래와 같이 바꿔준다 "command": "g++" 전..

  • format_list_bulleted 공부/c++
  • · 2025. 4. 3.
  • textsms
[C++] String 뒤에 문자열 더하는 방법 - 시간복잡도 분석

[C++] String 뒤에 문자열 더하는 방법 - 시간복잡도 분석

결론단일 문자를 추가할땐 push_back사용 -> O(1)의 시간복잡도 문자열 크기가 1이 아닌 문자열을 추가할땐 s = s + "A" 말고 += 사용!! : 이유는 이제 알아보자. 우선 String은 벡터를 기반으로 하고 있고, 동적 메모리 재할당을 최소화하기 위해 여유 공간(이하 버퍼라 칭함) 을 가지고 있다. 현재 버퍼가 부족하면 새로운 메모리 공간을 할당해야 한다.  그래서 만약 다음과 같은 코드가 있을때, int main() { string s = "ABC"; string a = "ABC"; //s에 a를 붙여보자}s=s+a; s+=a; 어떤 방법을 사용하든 "ABCABC"가 나오긴 하는데, 둘이 매커니즘이 조금 다르다.   1) s=s+a 1. s+a 실행 : s와 "A"를..

  • format_list_bulleted 공부/c++
  • · 2024. 11. 20.
  • textsms
  • navigate_before
  • 1
  • navigate_next

ID youjin


야금야금 모으는 중.

전체 카테고리
  • 분류 전체보기 (77)
    • 유니티 프로젝트 (8)
      • VOLTA (0)
      • CakeGame (8)
    • 유니티 공부 (2)
      • isometric (2)
    • 백준 (48)
    • GPT (0)
    • 기타 (2)
    • 공부 (16)
      • 알고리즘 (3)
      • 자료구조 (0)
      • c++ (4)
      • c# (3)
      • 디자인패턴 (3)
      • CS (2)
      • 코드트리 (1)
최근 글
인기 글
태그
  • #Unity
  • #알고리즘
  • #완전탐색
  • #유니티
  • #백준
  • #C++
  • #티스토리챌린지
  • #dp
  • #오블완
  • #그리디
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바