IT_study/Coding test

    [Coding test Basic with c++] Anagram(아나그램 : 구글 인터뷰 문제)

    문제 Anagram이란 두 문자열이 알파벳의 나열 순서를 다르지만 그 구성이 일치하면 두 단어는 아 나그램이라고 합니다. 예를 들면 AbaAeCe 와 baeeACA 는 알파벳을 나열 순서는 다르지만 그 구성을 살펴보면 A(2), a(1), b(1), C(1), e(2)로 알파벳과 그 개수가 모두 일치합니다. 즉 어느 한 단어를 재 배열하면 상대편 단어가 될 수 있는 것을 아나그램이라 합니다. 길이가 같은 두 개의 단어가 주어지면 두 단어가 아나그램인지 판별하는 프로그램을 작성하세 요. 아나그램 판별시 대소문자가 구분됩니다. ▣ 입력설명 첫 줄에 첫 번째 단어가 입력되고, 두 번째 줄에 두 번째 단어가 입력됩니다. 단어의 길이는 100을 넘지 않습니다. ▣ 출력설명 두 단어가 아나그램이면 “YES"를 출력..

    [Coding test Basic with c++] 자릿수의 합

    문제 N개의 자연수가 입력되면 각 자연수의 자릿수의 합을 구하고, 그 합이 최대인 자연수를 출력 하는 프로그램을 작성하세요. 각 자연수의 자릿수의 합을 구하는 함수를 int digit_sum(int x)를 꼭 작성해서 프로그래밍 하세요. ▣ 입력설명 첫 줄에 자연수의 개수 N(3 max) { max=sum; res=num; } else if(sum==max){ if(num > res) res=num; } printf("%d\n",res); } return 0; } 각 n개의 자연수 개수만큼 digit_sum 함수를 실행시킨다. 각 자연수의 자릿수 구하기 위해 자연수 x를 10으로 나누어 떨어진 나머지 값은 자연수의 맨 끝값이 되니 tmp에 저장하고 sum에 더해준다. x값은 10으로 나눈 값으로 셋팅하면..

    [Coding test Basic with c++] 모두의 약수

    문제 자연수 N이 입력되면 1부터 N까지의 각 숫자들의 약수의 개수를 출력하는 프로그램을 작성하 세요. 만약 N이 8이 입력된다면 1(1개), 2(2개), 3(2개), 4(3개), 5(2개), 6(4개), 7(2개), 8(4 개) 와 같이 각 숫자의 약수의 개수가 구해집니다. 출력은 다음과 같이 1부터 차례대로 약수의 개수만 출력하면 됩니다. 1 2 2 3 2 4 2 4 와 같이 출력한다. ▣ 입력설명 첫 번째 줄에 자연수 N(5

    [Coding test Basic with c++] 올바른 괄호

    문제 괄호가 입력되면 올바른 괄호이면 “YES", 올바르지 않으면 ”NO"를 출력합니다. (())() 이것은 괄호의 쌍이 올바르게 위치하는 거지만, (()()))은 올바른 괄호가 아니다. ▣ 입력설명 첫 번째 줄에 괄호 문자열이 입력됩니다. 문자열의 최대 길이는 30이다. ▣ 출력설명 첫 번째 줄에 YES, NO를 출력한다. 입력예제 (()(()))(() 출력예제 NO 풀이 #include using namespace std; int main(){ // 올바른 괄호 char a[100]; int i, cnt=0; scanf("%s", &a); for(i=0; a[i]!='\0'; i++){ if(a[i]=='(') cnt++; else if(a[i]==')') cnt--; if(cnt

    [Coding test Basic with c++] 영어단어 복구

    문제 현수의 컴퓨터가 바이러스에 걸려 영어단어가 뛰어쓰기와 대소문자가 혼합되어 표현된다. 예를 들면 아름다운 이란 뜻을 가지고 있는 beautiful 단어가 “bE au T I fu L” 과 같이 컴퓨터에 표시되고 있습니다. 위와 같이 에러로 표시되는 영어단어를 원래의 표현대로 공백을 제거하고 소문자화 시켜 출력하는 프로그램을 작성하세요. ▣ 입력설명 첫 줄에 바이러스에 걸린 영어단어가 주어진다. 바이러스에 걸린 영어단어의 길이(공백포함)는 100을 넘지 않는다. 문자사이의 공백은 연속적으로 존재할 수 있습니다. 입력은 알파벳과 공 백만 주어집니다. ▣ 출력설명 첫 줄에 소문자로 된 정상적인 영어단어를 출력한다. 입력예제 bE au T I fu L 출력예제 beautiful 풀이 #include usin..

    [Coding test Basic with c++] 숫자만 추출

    문제 문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만듭니다. 만들어진 자연수와 그 자연수의 약수 개수를 출력합니다. 만약 “t0e0a1c2her”에서 숫자만 추출하면 0, 0, 1, 2이고 이것을 자연수를 만들면 12가 됩니 다. 즉 첫 자리 0은 자연수화 할 때 무시합니다. 출력은 12를 출력하고, 다음 줄에 12의 약 수의 개수를 출력하면 됩니다. 추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다. ▣ 입력설명 첫 줄에 숫자가 섞인 문자열이 주어집니다. 문자열의 길이는 50을 넘지 않습니다. ▣ 출력설명 첫 줄에 자연수를 출력하고, 두 번째 줄에 약수의 개수를 출력합니다. 입력예제 g0en2Ts8eSoft 출력예제 28 6 풀이 #include..

    [Coding test Basic with c++] 나이 계산

    문제 주민등록증의 번호가 주어지면 주민등록증 주인의 나이와 성별을 판단하여 출력하는 프로그램 을 작성하세요. 주민등록증의 번호는 -를 기준으로 앞자리와 뒷자리로 구분된다. 뒷자리의 첫 번째 수가 1이면 1900년대생 남자이고, 2이면 1900년대생 여자, 3이면 2000년대 생 남자, 4이면 2000년대생 여자이다. 올해는 2019년입니다. 해당 주민등록증 주인의 나이와 성별을 출력하세요. ▣ 입력설명 첫 줄에 주민등록증 번호가 입력됩니다. ▣ 출력설명 첫 줄에 나이와 성별을 공백을 구분으로 출력하세요. 성별은 남자는 M(man), 여자는 W(Woman)로 출력한다. 입력 예제 780316-2376152 출력 예제 42 W 풀이 #include using namespace std; int main(){ ..