티스토리 뷰
이번 문제는 2차원 배열에서 가장 큰수와 작은 수를 찾는 개념으로 해결할 수 있는 문제이다.
문제에서 하나 주의할 점은 가장 큰 점과 작은 점을 찾기 위해 비교연산을 하게되고 이때 사용되는 값을 초기화하는 과정에서 제공된 점 중 하나로 초기화해야한다.
왜냐하니, 모든 점의 위치가 (1, 1)보다 큰 위치라면 비교 변수들이 0으로 초기화된다면 최소점을 찾을 수 없기 때문이다.
using System;
public class Solution {
public int solution(int[,] dots) {
int minX = dots[0,0];
int minY = dots[0,1];
int maxX = dots[0,0];
int maxY = dots[0,1];
for (int k = 0; k < dots.GetLength(0); k++) {
if (dots[k,0] < minX) minX = dots[k,0];
if (dots[k,1] < minY) minY = dots[k,1];
if (dots[k,0] > maxX) maxX = dots[k,0];
if (dots[k,1] > maxY) maxY = dots[k,1];
}
return (maxX - minX) * (maxY - minY);
}
}
'코딩테스트 > Programmers' 카테고리의 다른 글
[Programmers] 입문) 평행 (0) | 2023.07.10 |
---|---|
[Programmers] 입문) 옹알이 (1) (Contains) (0) | 2023.07.09 |
[Programmers] 입문) 외계어 사전 (Contains) (0) | 2023.07.09 |
[Programmers] 입문) 삼각형의 완성조건 (2) (수식) (0) | 2023.07.07 |
[Programmers] 입문) 구슬을 나누는 경우의 수 (학습, 자료형, 수학, 해답 확인) (0) | 2023.07.07 |