' 'Programming/C & C++' 카테고리의 글 목록 (2 Page)
728x90

Programming/C & C++ 33

[C/C++] 백준 1152번 C++ 풀이

이 문제는 입력받은 문자열의 단어의 개수를 구하는 문제이다. 문제를 풀기 위해서 해결해야 하는 과제는 두 가지가 있다. 1. 공백도 문자열에 포함해서 입력받기 2. 공백을 제외한 다른 알파벳들의 묶음(단어의 개수) 수 세기 이게 필자의 제출 기록인데 보다시피 실패가 아주 많다..ㅋㅋ 문자열을 그냥 입력받으면 공백으로도 구분된다는 것과 문자열 앞뒤로 공백이 나올 수 있다는 조건을 간과하여 5번이나 틀렸다. 결국 못참고 정답을 찾아봤는데.. ▼구글에서 찾은 정답 보기 #include #include int main() { std::string str; int count = 0; while (std::cin >> str) { ++count; } std::cout = 0 && x - 65 = 0 && x - 97

Programming/C & C++ 2021.09.01

[C/C++] 백준 1157번 C++ 풀이

백준 문제 1157번 C++풀이이다. 아래 코드는 정답이었지만 너무 길고 복잡한 것 같아서 고수들의 코드를 확인해보려고 했는데.. 소름돋게 똑같은 알고리즘을 써서;; 내가 맞게 잘 한 거구나.. 라는 생각과 함께 여러 풀이들이 변수이름까지 똑같은 걸 보고 다들 정답을 보고 하는 구나;; 라는 생각을 하며.. 힌트와 답을 공유한다. #include #include int main() { std::string str;//문자열 std::cin >> str;//문자열 입력 int count[26] = { 0 };//카운트 for (int i = 0, idx = 0; i < str.length(); i++) { idx = str[i]; if (idx < 97)//대문자면 65를 빼고 idx -= 65; else..

Programming/C & C++ 2021.08.30

[C/C++] Win32 API 첫 예제!

윈도우 API는 윈도우os에서 제공하는 API이다. soen.kr에서 무료로 제공되는 초급 강좌를 정독하며 공부한 내용들을 올릴 것이다. 이 포스팅 시리즈는 '공부 정리'이므로 제3자는 볼 필요없다. 계속 명시하겠지만 웬만해선 모든 출처는 대부분 soen.kr일 것이다. github.com/mdisprgm/Win-API 에 소스가 보관된다. (1) Hello, World! with GUI 콘솔 앱은 Hello World가 가독성을 위해 줄바꿈을 마구마구 해도 10줄내로 끝났지만 윈도우 API는 다르다.. 기본적으로 설정해줄 게 굉장히 많더라. #include //헤더파일 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//실제 작업, 프로시저 HINSTANC..

Programming/C & C++ 2021.08.24

[C/C++] 9.3강 - 제어문, 조건 관리하기 (for 사용법)

(1) for문이란 특정 조건이 성립하는 동안 계속 반복하는 while을 이용해 같은 코드를 N번 반복하는 코드를 짤 수 있다. 그러나 while이 꼭 그러한 용도로만 사용되는 것은 아니다. 반면 for는 N회 반복에 거의 쓰이는 제어문이라고 할 수 있다. 적어도 N회 반복에 대해서는 while보다 간결하고 읽기도 쉽다. while과 비교하면서 for의 사용법을 확인해보자 (2) for의 사용법 #include int main() { int i; i = 0; //반복문에서는 관례적으로 i를 많이 사용한다. while (i < 10) { printf("i is %d\n", i); i++; } } 위 코드는 printf를 while로 10번 반복하는 코드이다. 이 코드에 주석을 조금 추가해보겠다. #incl..

Programming/C & C++ 2021.08.17

[C/C++] 9.2강 - 제어문, 조건 관리하기 (while 사용법)

(1) while 지난 강좌에서 if에 대해 알아보았다. if는 코드에 조건을 삽입해 그 조건이 성립할 때만 지정된 코드를 실행하는 제어문이었다. while도 if처럼 그 이름에서 기능을 유추할 수 있다. ~하는 동안.. 그렇다. while은 특정 조건이 성립하는 동안 코드를 실행한다. 아래 코드를 보자. #include int main() { int a = 10; while(a > 0) { printf("a is %d\n", a); a--;//감소 연산자를.. 기억해야 한다 } } a의 초기값은 10이다. 그리고 while의 조건을 보니 a \(> \) 0 이라고 한다. 이 말은, a가 0보다 클 동안 코드를 실행한다는 뜻이다. 여기서 실행되는 코드는 두 줄인데, printf로 a의 값을 출력한 후 a..

Programming/C & C++ 2021.08.01

[C/C++] 9.1강 - 제어문에서 논리 연산자 사용하기 (if의 사용법)

(1) 조건 여러 개 사용하기 #include int main() { int a, b; a = 3, b = 5; if (a == 3) { if (b == 5) { printf("a는 3, b는 5입니다\n"); } } } 저번 강좌에서 이렇게 if문 여러 개를 겹쳐 두 조건을 동시에 만족하는 경우에 코드를 실행할 수 있다고 했다. 하지만 이것보다 더 편리하고 직관적으로 여러 개의 조건을 사용하는 방법이 있는데, 그것이 바로 논리 연산자이다. (2) 논리 연산자란? 논리 연산자란, 연산자 파트에서도 말했지만 다시 말하자면 관계 연산자로 판단한 결과를 다시 논리적으로 비교하는 연산자이다. 그 종류는 아래와 같다. 연산자 용도 &&(AND) 양쪽이 모두 참일 때 참을 반환함 ||(OR) 양쪽 중 하나만이라도 ..

Programming/C & C++ 2021.07.20

[C/C++] 9강 - 제어문, 조건 관리하기 (if의 사용법)

(1) 제어문이란 제어문이란, 프로그램의 흐름을 특정 조건과 함께 관리하는 도구를 말한다. 입출력과 동시에 프로그램의 기본이 되는 것이 제어문이다. 사실 모든 프로그램은 입출력, 조건을 다루는 제어문으로만 이루어진다고 해도 과언이 아니다. 다만 그 형태가 조금씩 다를 뿐이다. 그만큼 제어문을 잘 다룰 수 있어야하고 제어문을 잘 다룬다면 더 좋은 알고리즘을 따를 수 있을 것이고, 이는 곧 프로그램의 성능과도 직결되는 문제이다. 대충 제어문이 중요한 이유를 주절댔으니 이제 본격적으로 알아보자 (2) 제어문의 종류 기본적으로 제어문은 크게 두 종류로 나뉜다. 1. 조건에 따라 코드를 실행함, 조건문 2. 조건에 따라 코드를 반복 실행함, 반복문 이중 이번 강좌에서 다룰 것은 1번, 조건에 따라 코드를 실행하는..

Programming/C & C++ 2021.07.11

[C/C++] 8강 - printf의 다양한 사용법 (소수점, 접두사, 여백)

이번 강좌는 printf 서식 문자의 여러 사용법을 알아볼 것이다. (1) 소수점 지정하기 #include int main() { double a = 3.14; printf("%lf\n", a); } 원래는 이렇게 소수점을 출력했다. 그런데 이렇게만 출력하면 아래와 같은 일이 발생한다. 더 깔끔하게 셋째 자리까지만 출력하려면 서식 문자를 이렇게 쓰면 된다 %.3lf %와 lf 사이에 .(소수점자릿수) 를 적으면 해당 자릿수까지만 반올림되어 출력된다.(float을 출력할 땐 f...) 3을 썼더니 반올림되어 3.142가 출력됐다. 물론 더 긴 자릿수까지 출력할 수도 있다. (2) 접두사 붙이기 우리가 주로 사용하는 진법체계는 0~9를 사용하는 10진법이다. 그런데 C언어에서는 2진법, 8진법, 16진법을 ..

Programming/C & C++ 2021.07.07

[C/C++] 문자의 ASCII 번호 출력하는 프로그램 만들기

강좌를 작성하면서 지금까지 잘 따라와줬다면 충분히 작성할 수 있을 초간단한 프로그램들을 연습하는 '과제'를 올릴 생각이다. 이번 포스팅은 그 첫 번째로, 입력한 문자의 ASCII 코드를 알려주는 그런 프로그램을 만들어보자. 힌트를 주자면, 정수를 %c로 출력하거나 문자를 %d로 출력하면 해당 숫자, 문자가 ASCII에서 대응되는 것이 무엇인지 찾을 수 있다 :D 정답은 아래 팝업을 누르자. ▼ 정답 보기 #include int main() { char ch; scanf_s("%c", &ch, 1); //Visual Studio에서 실행할 땐 이렇게.. printf("%d\n", ch);//문자를 정수로(ASCII에서 대응하는 숫자로) return 0; } 이렇게 하면 정말 간단하게 만들 수 있다 그런데 ..

Programming/C & C++ 2021.06.27

[C/C++] 7.1강 - 상수, C언어에서 상수 사용하기 (2) (enum, 열거형)

(1) 열거형이 필요한 이유 프로그래밍 언어의 문법이나 기능을 잘 활용하려면 해당 기능이 왜 생겨났고 언제 사용해야하는지 이해하는 것이 중요하다. enum도 마찬가지이므로 먼저 enum 없이 작성한 코드로 불편함(?)이 뭔지 보자. 코드 내부적으로는 각각을 식별할 수만 있다면 문제가 없는 요소들을 효율을 위해 문자열보단 정수로 저장하는 경우가 많은데 예를 들면 통신 관련 프로그램에서 패킷의 종류를 구분하는 경우 등이 있다. 아래 코드는 그러한 것들 중 색을 위한 변수들을 만든 것입니다. #include const int RED = 0; const int ORANGE = 1; const int YELLOW = 2; const int GREEN = 3; const int BLUE = 4; const int ..

Programming/C & C++ 2021.06.25
728x90

'