90제 23

[알골90제] 48번 - 각 행의 평균과 가장 가까운 값 (2차원 배열 탐색)

* 문제: 1) 9*9 격자판에 81개의 자연수가 주어짐 2) 각 행의 평균을 구함 3) 각 행의 평균과 가장 가까운 값 출력 - 평균은 소수 점 첫 째 자리에서 반올림 - 가까운 값이 2개이면 그 중 큰 값을 출력 * 입력: 1~9번째 줄까지 한줄에 1개씩 100보다 작은 자연수가 주어짐 * 출력: 각 행별 평균과 그 평균과 그 행에서 평균과 가장 가까운 수 나란히 출력 ex) 42 34 43 42 53 53 . . . * 계획: 1) 9*9를 2차원 배열로 입력받음 2) 각 행별로 평균을 구함 3) 구한 평균을 두고 1~9까지 순서대로 빼서 abs해줌. 4) 절대값이 가장 작은 수가 평균과 가장 가까운 값 * 코드 // 48번 - 각 행의 평균과 가장 가까운 값 #define _CRT_SECURE_N..

[알골90제] 47번 - 봉우리 (2차원 배열 탐색)

* 문제를 읽고 난 후 - N값을 받은 다음에 정말로 N*N의 2차원 벡터를 만들어야 하나 - 2차원 벡터를 만든다면 상하좌우에 있는 숫자는 어떤 식으로 계산해서 그 자리의 값을 알아낼 것인가 - 반복문을 이용해서 상하좌우 좌표값을 현재 자리 기준에서 연산하여 구하면 되나 - 어떤 알고리즘을 풀어서 해결해야 할지 감도 안 옴 * 풀이 방법 1) 전역 변수로 2차원 배열을 잡으면 모두 0으로 채워진다. 2) 입력받는 숫자 값을 (1.1)부터 넣기 시작한다. 3) 입력을 받았으면, 1행 1열부터 n, n열까지 탐색하는 것이다. 4) 2중 for문이 돌면서 각자가 봉우리 인지 확인해야 한다. 5) i행 j열에 왔다면? 상하좌우를 어떻게 볼 것인가. 6) 현재 a[i][j] a[i-1][j] 상 a[i][j+1..

[알골90제] 46번 - 멀티태스킹 (카카오 먹방 문제 변형)

입력 1) N개 2) N개만큼 각 처리해야할 시간 입력 3) 정전 발생한 시간 * 컴퓨터는 1번 작업부터 순서대로 1초씩 작업을 합니다. 각 1초만 작업하고 다음 작업으로 넘어가야합니다. * 마지막 번호의 작업을 1초했으면 다시 첫번째 작업을 해야합니다. * 처리가 다 끝난 작업은 사라지고 새로운 작업은 들어오지 않습니다. 여기서 구해해야할 것 출력! 정전 후 몇번 작업부터 다시 시작해야하냐는 것입니다. *이때 주의할 것은 정전이 되기 직전 끝낸 작업에서 그 다음 작업을 구하는 것입니다. 입력예제를 들어보겠습니다. 3 //몇개의 작업 1 //작업별 처리 시간 - 작업번호 1 2 //작업별 처리 시간 - 작업번호 2 3 //작업별 처리 시간 - 작업번호 3: 마지막 작업 번호 5 //정전 시간 출력 : 3..