반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- recursive
- algorithm
- 문자열
- Java
- programmers
- 백준
- dfs
- baekjoon
- Lv.1
- BFS
- BOJ
- Permutation
- Lv.2
- SW역량테스트
- ProblemSolving
- PS
- dynamic programming
- backtracking
- 아기상어
Archives
- Today
- Total
berry
[Programmers] 바탕화면 정리(Lv.1) - Java 본문
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/161990
[풀이]
간단하게 생각하면
전체 문서를 최소한의 크기로 드래그할 수 있는 직사각형 만들기 이다.
2차원 배열을 for문으로 순회할 때
행을 i로 두고 열을 j로 두는 편인데(사바사에요)
제일 왼쪽과 오른쪽 => j의 최소값과 최대값
제일 위쪽과 아래쪽 => i의 최소값과 최대값
이라 생각하고 Math.max(), Math.min()으로 값들을 각각 구한 뒤에
순서에 맞춰서 +1해줬음(드래그가 종료되는 좌표는 +1해줘야되더라)
나도애드센스 달고싶어!!!
[소스코드]
import java.util.*;
class Solution {
public int[] solution(String[] wallpaper) {
int[] answer = new int[4];
int maxi = Integer.MIN_VALUE,
mini = Integer.MAX_VALUE,
maxj = Integer.MIN_VALUE,
minj = Integer.MAX_VALUE;
for(int i=0;i<wallpaper.length;i++){
for(int j=0;j<wallpaper[i].length();j++){
if(wallpaper[i].charAt(j) == '#'){
maxi = Math.max(maxi, i);
mini = Math.min(mini, i);
maxj = Math.max(maxj, j);
minj = Math.min(minj, j);
}
}
}
answer[0] = mini;
answer[1] = minj;
answer[2] = maxi+1;
answer[3] = maxj+1;
return answer;
}
}
반응형
'Problem Solving > Programmers' 카테고리의 다른 글
[Programmers] 단체사진 찍기(Lv.2) - Java (0) | 2023.04.20 |
---|---|
[Programmers] 개인정보수집유효기간(Lv.1) - Java (0) | 2023.03.08 |
[Programmers] 무인도 여행(Lv.2) - Java (0) | 2023.03.02 |
[Programmers] 카드 뭉치(Lv.1) - Java (0) | 2023.03.01 |
[Programmers] 이모티콘 할인행사(Lv.2) - Java (0) | 2023.02.27 |