Anagram (구글 인터뷰문제)
Anagram (구글 인터뷰문제)
2020.11.25#include #include int main() { int a[60]{ 0 }; int b[60]{ 0 }; char str[100]; scanf("%s", &str); for(int i = 0; str[i]!='\0'; i++){ // 대문자를 확인 if (str[i]>=65 && str[i]=65 && str[i]
c++ 함수 템플릿 사용하기
c++ 함수 템플릿 사용하기
2020.11.23동작하는 방식은 똑같은데 parameter 가 다른경우 일일이 다른 함수를 만들어 줘야하는 번거로움이 있습니다. int getMax(int x, int y) { return (x > y) ? x : y; } double getMax(double x, double y) { return (x > y) ? x : y; } 두가지 만 해도 함수를 하나더 만들어 줘야하는데 float char 등등.. 여러가지 type의 같은 함수를 많이 만들수록 유지보수도 힘들어집니다. 그래서 template 라는 함수를 사용해서 코드를 간소화 시키겠습니다. template T getMax(T x, T y) { return (x > y) ? x : y; } template 보통 T를 많이 쓰지만 원하시는 변수명을 지으셔도 상관없..
c++ 1359 : 숫자 피라미드 1
c++ 1359 : 숫자 피라미드 1
2020.11.17문제 설명 길이 nn이 입력되면 다음과 같은 숫자 피라미드를 출력한다. 예) nn이 5이면 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 입력 길이 nn이 입력된다.(1
c++ 1358 : 삼각형 출력하기 5
c++ 1358 : 삼각형 출력하기 5
2020.11.17문제 설명 어떤 수 n을 입력받으면 다음과 같은 삼각형을 출력한다. 여기서 입력되는 n은 반드시 홀수이다. 입력 3부터 99 까지의 홀수 중 하나가 입력된다. 출력 Sample Output 같은 삼각형을 출력한다. 입력 예시 5 출력 예시 * *** #include int main() { int x, space; scanf("%d", &x); space = x / 2; for (int i = 1; i
c++ 1356 : 사각형 출력하기 2
c++ 1356 : 사각형 출력하기 2
2020.11.14문제 설명 길이 n이 입력되면 다음과 같은 사각형을 출력한다. 예) n이 5일때 ***** * * * * * * ***** 입력 길이 n이 입력된다. (n >= 3) 출력 사각형을 출력한다. 입력 예시 3 출력 예시 *** * * *** #include int main() { int x = 0; scanf("%d", &x); for (int i = 1; i
괄호 연산자 오버로딩
괄호 연산자 오버로딩
2020.11.12//function obj #include using namespace std; class AccuMulator { private: int m_counter = 0; public: int operator() (int i) { return (m_counter += i); } }; int main() { AccuMulator acc; cout
적응형 이진화
적응형 이진화
2020.11.12전체 이미지에 하나의 임계값을 사용하는 threshold함수는 이미지 일부가 어두운 경에는 하나의 임계값을 사용하여 이진화 할때 좋은 결과를 얻기 힘듭니다. 적응형 이진화는 이미지를 작은 영역으로 나누어 각 영역별로 다른 임계값을 사용하는 방법입니다. 적응형 이진화를 위해 OpenCV 에서는 adaptive Threshold함수를 제공합니다. 그림에 적응형 이진화를 적용해보면 어두운 부분과 조명이 알맞은 부분에 모두 좋은 이진화 결과를 보여주는 것을 볼수 있습니다. #include #include using namespace cv; using namespace std; int main() { // 이미지를 읽어옵니다. Mat img_color; img_color = imread("test.jpg", IM..
나이계산 (문자열 컨트롤하기)
나이계산 (문자열 컨트롤하기)
2020.11.08나이계산 주민등록증의 번호가 주어지면 주민등록증 주인의 나이와 성별을 판단하여 출력하는 프로그램 을 작성하세요. 주민등록증의 번호는 -를 기준으로 앞자리와 뒷자리로 구분된다. 뒷자리의 첫 번째 수가 1이면 1900년대생 남자이고, 2이면 1900년대생 여자, 3이면 2000년대 생 남자, 4이면 2000년대생 여자이다. 올해는 2019년입니다. 해당 주민등록증 주인의 나이와 성별을 출력하세요. ▣ 입력설명 첫 줄에 주민등록증 번호가 입력됩니다. ▣ 출력설명 첫 줄에 나이와 성별을 공백을 구분으로 출력하세요. 성별은 남자는 M(man), 여자는 W(Woman)로 출력한다. ▣ 입력예제 1 780316-2376152 ▣ 출력예제 1 42 W ▣ 입력예제 2 061102-3575393 ▣ 출력예제 2 14 M..
c++ 1292 : 범인을 잡아라 1
c++ 1292 : 범인을 잡아라 1
2020.11.08문제 설명 한적한 시골마을에 도둑이 들었다. 이 도둑은 마을의 재산을 훔쳐가다 마을 사람들에게 들켜 도망쳤다. 급하게 도망치느라 도둑은 신발이 벗겨졌다는 사실도 잊었다. 마을 사람들은 도둑의 신발의 DNA를 분석했다. 도둑의 DNA의 특징은 DNA의 모든 숫자의 합을 77로 나눈 나머지가 44라는 사실을 알았다. 다음 날 경찰이 도둑으로 의심되는 사람을 검거하여 그들의 DNA 샘플을 가져왔다. DNA 샘플을 분석하여 이 자가 도둑인지 아닌지를 판단하여 만약 도둑이라면 “suspectsuspect”, 아니면 “citizencitizen”을 출력하는 프로그램을 작성하시오. 입력 길이가 1010자리로 구성된 1010진수가 입력된다. 출력 프로그램의 조건에 따라 “suspectsuspect” 또는 “citize..
c++ 1289 : 가장 큰 운동장
c++ 1289 : 가장 큰 운동장
2020.11.08문제 설명 학교에서 축구대회를 열기로 했다. 본교 학생 수가 많아서 되도록 큰 운동장을 필요로 한다. 학교 근처에 축구를 할 수 있는 운동장이 3개가 있는데 각 운동장의 가로와 세로의 길이를 홈페이지를 통해서 알 수 있었다. 우리는 3개의 운동장 중 가장 큰 운동장을 빌리기로 했다. 이 3개의 운동장 중 가장 넓은 운동장의 넓이를 구하는 프로그램을 작성하시오. 입력 가로와 세로의 정수 길이를 33세트 입력 받는다. (단, 길이는 10001000 이하의 양의 정수값) 출력 넓이가 가장 넓은 운동장의 넓이를 출력한다. 입력 예시 10 10 9 12 13 8 출력 예시 108 #include using namespace std; int main() { int x, y; int result = 0; for (i..
c++ 1288 : nCr (Tiny)
c++ 1288 : nCr (Tiny)
2020.11.08문제 설명 nCrnCr은 nn개의 원소를 가지는 집합에서 rr개의 부분 집합을 고르는 조합의 수를 말한다. nCrnCr을 일반 공식은 다음과 같다. nCr=nPrr!=n!r!⋅(n−r)!nCr=nPrr!=n!r!⋅(n−r)! 5C25C2는 다음과 같이 구할 수 있다. 5C2=5!3!×2!=5×4×3×2×1(3×2×1)×(2×1)=105C2=5!3!×2!=5×4×3×2×1(3×2×1)×(2×1)=10 nCrnCr을 구하는 프로그램을 작성하시오. 입력 nn과 rr이 입력된다. (1nCrnCr의 값을 출력한다. 입력 예시 5 2 출력 예시 10 #include using namespace std; int f(int var) { for (int i = var - 1; i >= 1; --i) var *= i; r..
c++ 문자열을 숫자로 변환하기(stringstream)
c++ 문자열을 숫자로 변환하기(stringstream)
2020.11.08#include #include using namespace std; int main() { stringstream ss; double number1 = 0.0; ss