알고리즘
삼총사
https://school.programmers.co.kr/learn/courses/30/lessons/131705
문제설명
풀이
class Solution {
public int solution(int[] number) {
int answer = 0;
//3중 for문을 돌리면서 각각 i번방 , i + 1번방, i + 2번방의 값들을
// 더한 값이 0이 나올때만 answer의 값을 증가시켜준다.
for(int i = 0; i < number.length; i++){
for(int j = i+1; j < number.length; j++){
for(int k = j+1; k < number.length; k++){
if(number[i]+number[j]+number[k] == 0){
answer++;
}
}
}
}
return answer;
}
}
최소 직사각형
https://school.programmers.co.kr/learn/courses/30/lessons/86491
문제설명
풀이
class Solution {
public int solution(int[][] sizes) {
int minNum;
// 각 배열들의 가로와 세로 길이를 비교하여
// 가로길이보다 세로 길이가 길다면 가로길이와 세로길이의 방을 변경한다.
for(int i = 0; i < sizes.length; i++){
if(sizes[i][0] < sizes[i][1]){
minNum = sizes[i][0];
sizes[i][0] = sizes[i][1];
sizes[i][1] = minNum;
}
}
// 이후 기본 제일 처음에 있는 가로길이와 세로길이로 변수를 선언하고
int garo = sizes[0][0];
int sero = sizes[0][1];
// 2중 for문을 돌면서 각 가로길이, 세로길이보다 큰게 있다면
// 값을 재 대입시킨 후
for(int i = 0; i < 2; i++){
for(int j = 0; j < sizes.length; j++){
if(garo < sizes[j][0]){
garo = sizes[j][0];
}
if(sero < sizes[j][1]){
sero = sizes[j][1];
}
}
}
// for문이 모두 끝난다면 가로와 세로를 곱하면서 리턴해준다.
return garo * sero;
}
}
'프로그래머스' 카테고리의 다른 글
프로그래머스 - 최댓값과 최솟값 (0) | 2024.10.28 |
---|---|
[TIL] 9월 23일 (4) | 2024.09.23 |
[TIL] 9월 20일 (1) | 2024.09.20 |
[TIL] 9월 11일 (0) | 2024.09.11 |
[TIL] 9월5일 (2) | 2024.09.05 |