본문 바로가기

C++9

[백준/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.
[C++] #5 참조자(Reference)와 함수 #5 참조자와 함수 omyodevelop.tistory.com/64 참조자의 기본 개념에 대해 알고있다면, 보지 않아도 됩니다. ■ 목차 #1 참조자와 함수 #2 참조자를 이용한 함수와, const 키워드 #3 반환형이 참조형인 함수 #1 참조자와 함수 C언어에서, 함수의 호출방식은 Call-by-value , Call-by-reference 2가지로 나뉜다는 것을 공부했을 것이다. Call-by-value 로 선언된 함수의 내부에서, 함수외부에 선언된 변수의 접근이 불가능하기에, 선언한 함수 블럭 안에서, 외부의 변수에 접근하고자 한다면, Call-by-reference 형태로 함수를 선언 해야만 한다. 그런데, C++에서는 Call-by-reference 함수 선언 방식이 2가지가 존재한다. 1. 주.. 2021. 1. 2.
[C++] #4 참조자(Reference) #4 참조자(Reference) ■ 목차 #1 참조자(Reference)의 이해 #2 참조자 선언 규칙 #1 참조자(Reference)의 이해 참조자란 자신이 참조하는 변수를 대신하는 또 하나의 이름, 즉 별칭과도 같다. int val1 = 2021; int &val2 = val1; 다음과 같이 선언하면, val1 메모리 공간에, val2 라는 이름(별칭)이 하나 더 붙게 된다. val2는 val1의 참조자가 되며, 기능과 연산의 결과가 변수와 동일하다. 하지만, C++에서는 참조자와 변수를 구분한다. val2 = 1000 다음 문장을 실행하면, val1의 값도 1000으로 초기화된다. 그리고, 참조자는 참조하는 변수와 동일한 메모리 공간을 가리키기에, cout 2021. 1. 2.
[BOJ] C/C++ 2156 "포도주 시식" [BOJ] C/C++ 2156 "포도주 시식" 문제풀이 난이도 : SILVER1 # 문제 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규칙이 있다. 포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후에는 원래 위치에 다시 놓아야 한다. 연속으로 놓여 있는 3잔을 모두 마실 수는 없다. 효주는 될 수 있는 대로 많은 양의 포도주를 맛보기 위해서 어떤 포도주 잔을 선택해야 할지 고민하고 있다. 1부터 n까지의 번호가 붙어 있는 n개의 포도주 잔이 순서대로 테이블 위에 놓여 있고, 각 포도주 잔에 들어있는 포도주의 양이 주어졌을 때, 효주를 도.. 2020. 12. 27.
[BOJ] C/C++ 9465 "스티커" [BOJ] C/C++ 9465 "스티커" 문제풀이 난이도 : SILVER2 # 문제 상근이의 여동생 상냥이는 문방구에서 스티커 2n개를 구매했다. 스티커는 그림 (a)와 같이 2행 n열로 배치되어 있다. 상냥이는 스티커를 이용해 책상을 꾸미려고 한다. 상냥이가 구매한 스티커의 품질은 매우 좋지 않다. 스티커 한 장을 떼면, 그 스티커와 변을 공유하는 스티커는 모두 찢어져서 사용할 수 없게 된다. 즉, 뗀 스티커의 왼쪽, 오른쪽, 위, 아래에 있는 스티커는 사용할 수 없게 된다. 모든 스티커를 붙일 수 없게된 상냥이는 각 스티커에 점수를 매기고, 점수의 합이 최대가 되게 스티커를 떼어내려고 한다. 먼저, 그림 (b)와 같이 각 스티커에 점수를 매겼다. 상냥이가 뗄 수 있는 스티커의 점수의 최댓값을 구하는 .. 2020. 12. 27.