본문 바로가기

[Algorithm] 빙고 게임 빙고 게임은 다음과 같은 방식으로 이루어진다.먼저 아래와 같이 25개의 칸으로 이루어진 빙고판에 1부터 25까지 자연수를 한 칸에 하나씩 쓴다다음은 사회자가 부르는 수를 차례로 지워나간다. 예를 들어 5, 10, 7이 불렸다면 이 세 수를 지운 뒤 빙고판의 모습은 다음과 같다.차례로 수를 지워가다가 같은 가로줄, 세로줄 또는 대각선 위에 있는 5개의 모든 수가 지워지는 경우 그 줄에 선을 긋는다.이러한 선이 세 개 이상 그어지는 순간 "빙고"라고 외치는데, 가장 먼저 외치는 사람이 게임의 승자가 된다.철수는 친구들과 빙고 게임을 하고 있다. 철수가 빙고판에 쓴 수들과 사회자가 부르는 수의 순서가 주어질 때, 사회자가 몇 번째 수를 부른 후 철수가 "빙고"를 외치게 되는지를 출력하는 프로그램을 작성하시오...
[Algorithm] 반장 뽑기 오민식 선생님은 올해 형택초등학교 6학년 1반 담임을 맡게 되었다. 오민식 선생님은 우선 임시로 반장을 정하고 학생들이 서로 친숙해진 후에 정식으로 선거를 통해 반장을 선출하려고 한다. 그는 자기반 학생 중에서 1학년부터 5학년까지 지내오면서 한번이라도 같은 반이었던 사람이 가장 많은 학생을 임시 반장으로 정하려 한다.그래서 오민식 선생님은 각 학생들이 1학년부터 5학년까지 몇 반에 속했었는지를 나타내는 표를 만들었다. 예를 들어 학생 수가 5명일 때의 표를 살펴보자.위 경우에 4번 학생을 보면 3번 학생과 2학년 때 같은 반이었고, 3번 학생 및 5번 학생과 3학년 때 같은 반이었으며, 2번 학생과는 4학년 때 같은 반이었음을 알 수 있다. 그러므로 이 학급에서 4번 학생과 한번이라도 같은 반이었던 사..
[정렬] 선택정렬 개념정리 & 구현 ◈ 개념 짝대기 -> 즉 기준이 있게 하고 최솟값을 가장 앞으로 이동시킨다. 그리고 짝대기를 오른쪽으로 한 칸 이동한다. (오름차순 정렬일 경우) ◈ 구현 #include int main() { int n; int data[100]; scanf("%d",&n); for(int i=0; i
[Algorithm] 배열의 거리 이용하는 문제 #include #include//절대값 함수를 사용하기 위함.int n;int x,y;int r;int arr[100][100];int distance = 0; int main() { //Please Enter Your Code Here scanf("%d",&n); scanf("%d %d",&x,&y); scanf("%d",&r); for(int i=1; i
[Algorithm] 함수 사용하여 2차원배열의 최대값 구해보기 #include // 전역으로 선언해주어야 메인에서 값을 불러올 수 있다.int arr[9][9];int maxValue = 0;int indexRow = 0;int indexCol = 0; int getMax(int arr[][9], int n, int m){ maxValue = arr[0][0]; for(int i=1; i
[Algorithm] eightnine a첫째줄에는 자연수 N, M이 주어진다. N은 타일행렬의 행의 개수, M은 타일행렬의 열의 수를 나타낸다. N과 M은 100 이하의 자연수이다. 둘째줄부터 N개의 줄에 걸쳐, 타일행렬의 정보를 나타내는 0과 8들이 주어진다. #include int main() { //Please Enter Your Code Here int n,m; int matrix[100][100]; int temp; int temp2; scanf("%d",&n); scanf("%d",&m); for(int i=0; i
[Algorithm] BruteForce 5x5 2차원 배열이 주어질 때 어떤 원소가 상하좌우에 있는 원소보다 작을 때 해당 위치에 0 을 표시하는 프로그램을 작성하시오. 경계선에 있는 수는 상하좌우 중 존재하는 원소만을 비교한다. #include #include int result[5][5];int arr[5][5];int px[4] = {1,-1,0,0};int py[4] = {0,0,1,-1}; bool search(int i, int j){ int row = i; int col = j; for(int k=0; k=arr[row+px[k]][col+py[k]]) { return false; } } } return true;} int main() { //Please Enter Your Code Here for(int i=0; i
1094 [시뮬레이션2] #includeint main(){ int n; int cnt=0; scanf("%d",&n); while(n!=0){ if(n%2 == 1) cnt++; n/=2; } printf("%d",cnt); } // 구현 !