바탕화면 정리

문제


문제풀이

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