- 회고
70. 바탕화면 정리 : https://school.programmers.co.kr/learn/courses/30/lessons/161990
- 풀이 과정
class Solution {
public int[] solution(String[] wallpaper) {
int[] answer = new int[4];
int cnt = 0;
int y2 = 0;
answer[1] = Integer.MAX_VALUE;
for (int i = 0; i < wallpaper.length; i++) {
for(int j = 0; j < wallpaper[i].length(); j++){
char c = wallpaper[i].charAt(j);
if(c == '#'){
y2 = i;
if(cnt == 0) {
answer[0] = i;
}
if(answer[1] >= j){
answer[1] = j;
}
if(answer[3] <= j + 1){
answer[3] = j + 1;
}
cnt++;
}
}
}
answer[2] = y2 + 1;
return answer;
}
}
- 정답배열을 사사분면 기준으로 가정하여, 첫번째클릭(x1,y1), 드래그의 끝(x2,y2)라고 하겠다.
- y1은 처음 발견된 파일의 세로 위치가 되므로 cnt변수를 추가하여 첫번째 발견을 찾고 그 파일의 세로위치 i를 대입
- x1은 발견된 파일의 가로 위치중 가장 작은 j를 대입, 비교를 위해 MAX_VALUE값으로 초기화함
- y2는 마지막 발견된 파일의 위치 + 1
- x2는 발견된 파일의 가로 위치중 가장 큰값 + 1 이된다.
- 진행
일자 | 완료 번호 |
24.07.16 ~ 24.07.31 | 1~63 |
24.08.01 | 64 |
24.08.02 | 65 |
24.08.05 | 66 |
24.08.06 | 67 |
24.08.07 | 68 |
24.08.08 | 69 |
24.08.09 | 70 |
'Java & Spring > 코딩테스트' 카테고리의 다른 글
22일차 - 알고리즘 코드카타 (0) | 2024.08.13 |
---|---|
21일차 - 알고리즘 코드카타 (0) | 2024.08.12 |
19일차 - 알고리즘 코드카타 (0) | 2024.08.08 |
18일차 - 알고리즘 코드카타 (0) | 2024.08.07 |
17일차 - 알고리즘 코드카타 (0) | 2024.08.06 |