Programming Language 56

[코테] 3단계 : 반복문

~ [ 2일차 ] 2025/08/03 (일) ~[ 3일차 ] 2025/08/17 (일) https://www.acmicpc.net/step/3#15552본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다.입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다.C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL)과 sync_with_stdio(false)를 둘 다 적용해 주고, endl 대신 개행문자(\n)를 쓰자. 단, 이렇게 하면 더 이상 scanf/printf/puts/getchar/putchar 등 C의 입출력 방식을 사용하면 안 된다. BOJ 작동 원리https://www.acmicpc.net/blog/view/55 #10..

C언어와 C++의 차이점

1. 주요 철학 및 특징 차이를 이해하기C: 절차적(procedural) 언어로, 함수를 중심으로 동작합니다. 저수준 프로그래밍에 적합하며, 메모리 관리를 직접적으로 다뤄야 합니다.C++: C의 확장판으로, 객체 지향 프로그래밍(OOP)을 지원합니다. 클래스, 객체, 생성자/소멸자, 다형성과 같은 개념을 사용해 고수준의 프로그래밍이 가능합니다.팁:C는 "얼마나 효율적인가"에 집중하고, C++는 "얼마나 확장 가능한가"에 중점을 둡니다. 이 철학적 차이를 기억하고 접근하세요.2. #include 구문과 라이브러리C: #include와 같은 표준 라이브러리가 필수이며, 입출력에는 C 방식의 printf()나 scanf()를 사용합니다.#includeint main() { printf("Hello, Wo..

코딩테스트, 어떤 언어로 준비해야 할까?

문제 유형추천 언어 시간제한이 빡빡한 문제(시간 복잡도가 중요한 문제)C++- Compiler Language메모리를 직접 관리할 수 있어 공간 복잡도 최적화에 유리- 국제 알고리즘 대회에서 가장 많이 사용되는 언어- 독보적인 속도와 성능을 가진다. - STL (Standart Templater Library)힙, 트리 맵 등 복ㅈ바한 자료구조가 내장되어 있다.BUT,런타임 오류가 발생한다면 디버깅에 많은 시간이 든다(어려움)입력 크기가 큰 문제Python보다 2~10배 빠른 실행 시간반복 계산이 많은 문제알고리즘에 복잡한 자료구조를 활용해야 하는 문제예: Graph 탐색, Offline Query 유형 문제에서 시간 초과(TLE)를 방지하기 유리데이터 처리 및 문자열 조작 문제Python문법이 쉬워 빠..

Python과 C언어 문법이 헷갈린다면?

Python과 C언어 문법이 헷갈린다면? Python과 C 언어는 문법 구조와 프로그래밍 철학에서 큰 차이가 있습니다.서로 헷갈리지 않고 익히기 위한 몇 가지 팁과 차이점을 정리해 두면 좋습니다.1. 중괄호 vs. 들여쓰기C: 코드 블록을 { }로 구분합니다. if (x > 0) { printf("Positive\n");} else { printf("Non-positive\n");}Python: 들여쓰기가 코드 블록의 경계를 나타냅니다.if x > 0: print("Positive")else: print("Non-positive")팁: Python은 들여쓰기 실수가 문법 오류로 이어지기 때문에, 들여쓰기를 반드시 정확하게 유지하세요!2. 세미콜론(;)C: 각 명령 뒤에 반드시 세미콜..

[코테] 1단계: 입출력과 사칙연산

[ 1일차 ] 2025/08/02 (토) [ 2일차 ] 2025/08/03 (일) https://www.acmicpc.net/step/1사용 언어 : C(1일차), Python(2일차)#1008 ✅ Check Point !실제 정답과 출력값의 절대오차 또는 상대오차가 10⁻⁹ 이하이면 정답이다. 절대오차 (Absolute Error) - 오차의 크기.- 실제 단위로 나타낸다- 실제 단위로 나타낸다- 절대오차 = (참값) - (결과값) 상대오차 (Relative Error) - 상대오차를 구하려면 절대오차를 알아야 한다.- 절대오차와 다르게 단위가 존재하지 않는다. 퍼센트(%) 단위로 나타낼 수 있다. - 상대오차 = 절대오차 / 참값 정수형 변수끼리 나눗셈을 수행하면 정수형으로 나눗셈이 진행된 뒤 정수형..

C언어 vs C++ vs C# 공통점과 차이점 알아보기

1. C 언어C언어는 Dennis Ritchie가 1970년대 초에 설계한 고급 프로그래밍 언어로, 컴퓨터 시스템과 하드웨어와의 저수준 통신을 제공하며, 현대 컴퓨팅 언어의 중추적 역할을 합니다.특징:절차적 프로그래밍 언어 (구조적 프로그래밍)저수준 언어와 고수준 언어의 장점을 융합하드웨어와 밀접한 저수준 작업 가능 (포인터, 메모리 직접 관리)성능이 뛰어나며 운영체제(OS), 시스템 소프트웨어 개발에 주로 사용용도:운영체제 및 임베디드 시스템 개발시스템(드라이버, 펌웨어, 네트워크 프로토콜) 프로그래밍성능이 중요한 애플리케이션2. C++C++는 Bjarne Stroustrup이 C언어를 기반으로 확장하여 1980년대에 개발한 객체지향 프로그래밍 언어입니다. C++는 C의 역량을 그대로 유지하면서, 강력..

[C언어] strtok 함수 알아보기 (문자열 자르기)

[C언어] strtok 함수 알아보기 (문자열 자르기) strtokstring을 tokenize한다. header file- C언어 : - C++ :  strtok 함수 정의char* strtok(char* str, char* delimiters); 문자열 str을 첫 번째 parameter로 받아서두 번째 parameter로 들어온 char* type의 구분자를 기준으로문자열을 잘라 문자열의 pointer를 하나씩 반환하는 함수 사용법char str[] = "Block D Mask."; // 구분할 문자열char *ptr = strtok(str, " "); // 첫 번째 strtok 사용while (ptr != NULL) // ptr이 NULL일 때까지 = strtok 함수가 NULL을 return할..

[C언어] 토큰(Token)이란?

C언어에서 Toekn이란? C Program을 구성하는 최소 단위를 말한다.Toeken은 일반적으로 데이터 처리 과정에서 문자열을 더 관리하기 쉽고 의미 있는 부분으로 나누기 위해 사용된다.여기에서 Token은 6가지로 나뉜다. 1. 키워드 (예약어)2. 식별자3. 상수4. 문자열 리터럴5. 연산자6. 구두점 No.이름설명1키워드이미 특별한 의미가 정해진 단어2식별자Programmer가 의미를 정한 단어3상수Program이 실행되는 동안 변하지 않는 값4문자열 레터럴문자열 상수5연산자연산에 사용되는 기호 문자6구두점의미를 강조하는 기호 문자   1. 키워드 (Keyword, 예약어)Compiler에 의해서 이미 의미가 정해져 있는 단어이름설명종류기억분류변수의 생존기간auto, extern, registe..