프로그래머스
[TIL] 9월 24일
haseung22
2024. 9. 24. 21:48
알고리즘
삼총사
https://school.programmers.co.kr/learn/courses/30/lessons/131705
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제설명
풀이
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
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제설명
풀이
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;
}
}