전체 글 127

[C++] 연속부분 증가수열

내 코드 #include //한번에 풀었음 채점해보기 int main() { int N, num, res = 0, cnt=0, max = -2147000000; scanf("%d",&N); for(int i = 1; i = max){ max = num; cnt++; }else { max = num; cnt = 1; } printf("cnt : %d \n",cnt); if(cnt > res) res = cnt; } printf("%d",res); return 0; } 채점은 안해보았으나 무리는 없어보인다. 지금까지 배웠던 가장 기초적인 방법으로 해결해보았다. 하지만 나열된 정수들이 있다고 했을 때, 서로 인접한 값들에 대한 비교를 해야할 때 응용할 수 있는 또 다른 솔루션이 있다. 효율적인 답 int ma..

[C++]카드게임

#include //각자 공개할때마다 라운드 증가 10개의 카드(10라운드) //숫자가 더 큰 사람이 이김 비기면 D //이기면 3점 패자 0점 동점 1점 //총점이 같으면 마지막라운드에서 이긴 사람 //모든 라운드에서 비기면 비김 int main() { int A[10],B[10]; int AP = 0 ,BP = 0,i; int rw = 0; //round winer를 체크하여 마지막에 누가 이겼는지를 알도록 함 //이게 핵심 for(i = 0; i < 10; i++){ scanf("%d",&A[i]); } for(i = 0; i < 10; i++){ scanf("%d",&B[i]); } for(i = 0; i < 10; i++){ if(A[i] == B[i]){ AP+=1; BP+=1; } else ..

[C++]층간소음

처음에 짠 코드 #include using namespace std; int main() { //예를들어, 10초동안 체크하는 경보기 = for문 10번 돌린다. //연속으로 M이상인 경우 = counting int N,M,i,num, res,max = -2147000000; int cnt[100]; cin >> N >> M; cnt[0] = 0; for(i = 1; i > num; if(num > M){ cnt[i] = cnt[i-1] + 1; }else { cnt[i] = 0; } } for(i = 1; i max){ max = cnt[i]; } } cout > N >> M; for(i = 1; i > num; if (num > M) cnt++; else cnt = 0; if(cnt > max) ma..