본문 바로가기

Programming51

[백준/BOJ] C언어/C++ 1152번 단어의 개수 문제풀이 #1 문제 www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net #2 info 카테고리 : 단계별로 풀어보기 - 문자열 파트 난이도 : BRONZE2 사용언어 : C언어/C++ 메모리 : 1980KB 시간 : 8ms #3 소스코드 /* omyo(yomo) develop */ /* blog : https://omyodevelop.tistory.com */ #include #include #define LEN 1000001 int main(void){ char s.. 2021. 2. 24.
[C/C++] C언어 공백 문자 포함한 문자열 입력받는 방법 (scanf / fgets) 안녕하세요 omyo 입니다. 이번 포스팅에서는, 공백 문자를 포함한 문자열을 입력받는 2가지 방법에 대해서 소개해 드리려고 합니다. scanf("%s",문자열) 을 이용해서 문자열을 받으면, scanf는 공백을 문자열의 끝으로 인식하기 때문에 공백 문자 뒤의 내용이 모두 잘리게 됩니다. 예를들어 다음 코드에 "Hello C World" 문자열을 입력하면 Hello 공백 뒤의 C World 문자열이 모두 잘립니다. #include #define LEN 1000000 int main(void){ char str[LEN]; scanf("%s",str); printf("%s",str); } 1> scanf[] scanset character scanf("%[^\n]s", str) scanset character.. 2021. 2. 24.
[백준/BOJ] C언어/C++ 1157번 단어 공부 (strupr 에러) #info 카테고리 : 단계별로 풀어보기 - 문자열 파트 난이도 : BRONZE1 사용언어 : C언어/C++ 메모리 : 1980KB 시간 : 16ms #소스코드 /* omyo(yomo) develop */ /* blog : https://omyodevelop.tistory.com */ #include #include #define LEN 1000001 int main(void){ // [INPUT] 문자열 입력 & 알파벳 배열 초기화 char str[LEN]; int alphaArr[26] = {0,}; scanf("%s",&str); // 소문자 → 대문자 변경 for (int i = 0; str[i]; i++) { if(islower(str[i])) str[i] = toupper(str[i]); } .. 2021. 2. 23.
[백준/BOJ] C언어 2675번 문자열 반복 #info 카테고리 : 단계별로 풀어보기 - 문자열 파트 난이도 : BRONZE2 사용언어 : C언어 메모리 : 1124KB 시간 : 0ms #소스코드 #include #include int main(void){ int T,R; // T(1 2021. 2. 21.
[C언어] C언어의 메모리 구조 ; 데이터(Data)/스택(Stack)/힙(Heap) 영역 #C언어의 메모리 구조 프로그램을 실행하면 운영체제는 프로그램이 사용하고자 하는 메모리 영역을 할당해 준다. 이 때 할당되는 메모리 영역은 크게 데이터(Data), 스택(Stack), 힙(Heap) 영역으로 3가지로 나뉜다. 할당 시기는 프로그램이 실행될 때마다 할당하며, 할당 장소는 메인 메모리(RAM)이고, 할당 용도는 프로그램에 실행에 필요한 메모리 영역(지역 변수, 전역 변수 선언)할당을 위함이다. #1 데이터(Data) 영역 전역 변수와 정적(Static) 변수가 할당되는 영역이다. 프로그램을 시작하면 할당하고, 종료하면 메모리를 해제한다. #2 힙(Heap) 영역 필요에 따라 프로그래머가 동적으로 메모리를 할당하는 영역으로, 프로그램이 실행되는 동안(Run Time) 결정해야 하는 경우 사용한.. 2021. 2. 7.
C언어 알고리즘&자료구조 #1 세 값의 중앙값을 구하는 알고리즘 중앙값을 구하는 알고리즘은 최대/최소값을 구하는 알고리즘에 비해서 절차가 복잡하기에 여러가지의 알고리즘이 나올 수 있다. 이번 포스팅에서는 2가지의 알고리즘을 제시하고, 어떤 알고리즘이 더 효율적인지에 대해 정리해 보려고 한다. #1세 값의 대소관계는 13종류이다. #2중앙값을 구하는 알고리즘 #세 값의 대소 관계는 13종류이다. 세 변수의 중앙값을 구하는 알고리즘에 대해 알아보기 전에, 세 값을 조합했을 때 총 몇 가지의 조합이 나올 수 있는지, 결정 트리(decision tree)를 통해서 알아 보도록 하자. 결정 트리는 왼쪽 끝(a>=b)에서 시작해서 오른쪽 끝으로 이동한다. 조건이 성립하면 검은색 줄, 조건이 성립하지 않으면 빨간색 줄을 통해서 이동한다. 이렇게 결정트리를 미리 그려 두면, 알고리.. 2021. 2. 5.