문제
문제풀이
answer은 사이즈가 4인 배열을 반환해야 한다. 그리고 해당 문제를 보면 각 좌표들 마다 특징들이 있다.
- answer[0] : # 이 있는 wallpaper 가장 작은 index 넘버
- answer[1] : # 있는 wallpaper 문자열에서 #의 index 넘버
- answer[2] : # 이 있는 wallpaper 가장 큰 index 넘버
- answer[3] : # 있는 wallpaper 문자열에서 #의 last index 넘버
위의 조건만 맞출 수 있는 코드를 쓴다면 간단하게 답을 낼 수 있을 것이다.
나의 답안
public static int[] solution(String[] wallpaper) {
int size = wallpaper[0].length();
int[] drag = {-1, size, -1, -1};
for (int i = 0; i < wallpaper.length; i++) {
if (wallpaper[i].contains("#") && drag[0] == -1) drag[0] = i;
if (wallpaper[i].contains("#") && drag[1] > wallpaper[i].indexOf("#")) drag[1] = wallpaper[i].indexOf("#");
if (wallpaper[i].contains("#")) drag[2] = i + 1;
if (wallpaper[i].contains("#") && drag[3] < wallpaper[i].lastIndexOf("#") + 1)
drag[3] = wallpaper[i].lastIndexOf("#") + 1;
}
return drag;
}
'Programmers 문제풀이 > Lv.1' 카테고리의 다른 글
추억 점수 (0) | 2023.03.31 |
---|---|
공원 산책 (0) | 2023.03.30 |
신고 결과 받기 (0) | 2023.03.29 |
개인정보 수집 유효기간 (0) | 2023.03.29 |
대충 만든 자판 (0) | 2023.03.28 |