본문 바로가기

728x90

전체보기

(49)
[C++] 층간소음 [목적] N초 동안의 소음이 M값을 넘으면 경보음이 울리는 프로그램이다. N초 동안의 1초마다의 실시간 측정치를 받아 최대 연속으로 경보음이 울린 시간을 출력하는 프로그램이다. 만약, 경보음이 없으면 -1을 출력한다. [입력예제] 10 90 23 17 120 34 112 136 123 23 25 113 [출력예제] 3 10초동안 90을 넘는 소음이 들리게 될 시 경보음이 울리게 된다. 여기서 가장 경보음이 길게 울린 구간은 5~7초까지의 3초이였기에 3을 출력하였다. [코드] #include using namespace std; int main(int argc, const char * argv[]) { int n, m, desi, cnt = 0, max = 0; cin >> n >> m; for (int..
[C++] 선생님 퀴즈 [목적] 현수네 반은 학생이 N명 있습니다. 수업도중 선생님이 잠깐 자리를 비워야 하는데 그 동안 학생들이 떠들거나 놀지 않도록 각 학생들에게 퀴즈를 냈습니다. 선생님은 각 학생들에게 숫자가 적힌 카드를 줬습니다. 각 학생들은 1부터 자기 카드에 적힌 숫자까지의 합을 구하는 퀴즈입니다. 선생님이 돌아와서 각 학생들의 답이 맞았는지 확인을 하려고 하는데 너무 힘들어서 여러분에 게 자동으로 채점을 하는 프로그램을 부탁했습니다. 여러분이 선생님을 도와주세요. [입력예제] 3 10 55 20 350 100 5050 [출력예제] YES NO YES 총 3명의 학생에게 퀴즈를 냈다. 첫 번째 학생은 1부터 10까지 더하는데 결과는 55라 하였고, 해당 결과는 정답이어 YES를 출력하였다. 마찬가지로 두 번째 학생과..
[C++] Anagram [목적] Anagram : 길이가 같은 두 문자열이 알파벳의 나열 순서는 다르지만 알파벳 구성(대/소문자 구분)이 일치하면 두 단어는 Anagram이라 한다. 두 문자열을 입력받아 Anagram이 맞으면 YES를 아니면 NO를 출력한다. [입력 예제] AbaAeCe baeeACA [출력 예제] YES 첫 번째 문자열엔 'A'가 2개, 'C'가 1개, 'a'가 1개, 'b'가 1개, 'e'가 2개 있으며 두 번째 문자열도 그 개수가 같다. 그러므로 두 문자열은 Anagram 조건에 충족하여 YES를 출력하였다. [코드] #include using namespace std; int main(void) { string a, b; int res = 1; cin >> a; cin >> b; for(int i=0; i
[C++] 소수의 개수 [목적] 자연수 N을 입력하면 1부터 N까지의 소수의 개수를 출력한다. 제한시간은 1초이다. [입력 예제] 20 [출력 예제] 8 20이 입력이 되면 1부터 20까지의 소수는 [2, 3, 5, 7, 11, 13, 17, 19]로 총 8개이므로 8을 출력한다. [코드] #include using namespace std; int main(void) { int num; cin >> num; int cnt=num-1; for(int i=2; i
[C++] 뒤집은 소수 [목적] N개의 자연수를 입력 받은 후 수를 하나씩 뒤집어 그 수가 소수이면 출력한다. [입력 예제] 5 32 55 62 3700 250 [출력 예제] 23 73 입력 받고 싶은 개수를 입력 한 후, 여기선 '5'개를 입력받는다 하였기에 총 '5'개의 숫자를 입력받는다. 그 후, 숫자를 뒤집어 해당 수가 소수이면 출력하는데 여기선 '32'와 '3700'을 뒤집었을 때 '23'과 '73'(앞자리 0은 무시)으로 두 수는 소수이기에 '23'과 '73'을 출력한다. [코드 (Visual Studio2019)] #include #include using namespace std; bool isPrime(int x) { if (x == 1) return false; for (int i = 2; i * i num;..
[C++] 가장 많이 사용된 자릿수 [목적] 자연수 N이 입력되면 N이 가지고 있는 자릿수 중 가장 많이 사용된 숫자를 출력한다. 단, 가장 많이 사용된 숫자가 여럿일 경우 가장 큰 수를 출력한다. 또한 N의 길이는 100자를 넘지 않는다. [입력예제] 1230565625 [출력예제] 5 자연수 '1230565625'의 자릿수 중 0은 1개, 1은 1개, 2는 2개, 3은 1개, 5는 3개, 6은 2개로 5가 가장 많으니 5를 출력한다. [코드] #include using namespace std; int main(void) { int cnt[10]={0}, a = 0, res=0, max = -2147000000; string num; cin >> num; for(int i=0; i
[C++] 숫자의 총 개수 (small) [목적] 자연수 N을 입력받으면 1부터 N까지의 자연수를 종이에 적을 때 각 숫자는 몇 개 쓰였는지 출력한다. ※ N(3 num; //입력받은 수 부터 시작하여 숫자를 하나씩 줄여나가며 반복문 실행 for(int i=num; i>0; i--){ //현재 숫자의 자리수 계산하여 cnt를 증가 for(int j=i; j>0; j/=10) cnt++; } cout
[C++] 자릿수의 합 [목적] 입력 하고 싶은 개수를 먼저 입력 한 후, 해당 개수만큼 숫자를 입력받아 각 숫자들의 자릿수를 더해 가장 큰 합이 나온 숫자를 출력한다. 단, 자릿수를 더한 값이 가장 큰 숫자가 여럿일 경우 숫자 중 가장 큰 수를 출력한다. [입력예제] 5 125 15232 79 1325 97 [출력예제] 97 5개를 입력받고 나면 그 중 자릿수 합이 가장 큰 숫자를 찾는다. 자릿수 합이 가장 큰 숫자는 '79'와 '97'이다. 이 두 수 중 더 큰 수는 '97'이기에 '97'을 출력한다. [코드] #include using namespace std; //자릿수를 더하는 함수 int digit_sum(int x){ int num = 0; //받아온 x(i)와 10을 나눈 나머지를 num에 저장 후 x(i)의 일..

728x90
반응형