본문 바로가기
알고리즘 문제/Java

[LeetCode/Java] Number of Lines To Write String

by 현장 2026. 7. 4.

-Code

public class LeetCode806 {
    public int[] numberOfLines(int[] widths, String s) {
        int[] answer = new int[2];
        // 첫줄로 셋팅
        answer[0] = 1;

        for (char c : s.toCharArray()) {
            // 현재 문자 넓이 확인
            int nowWith = widths[c - 'a'];
            // 100 픽셀을 초과하는 경우
            if (answer[1] + nowWith > 100) {
                // 새로운 행으로 넘어감
                answer[0]++;
                // 현재 문자 넓이로 변경
                answer[1] = nowWith;
                continue;
            }
            // 100픽셀 이하인 경우 현재 넓이 더하기
            answer[1] += nowWith;
        }
        return answer;
    }
}

처음에 문제를 잘못이해해서 이상하게 로직을 짰다가 틀려서 찾아보니 각 단어당 픽셀 크기를 배열로 주어서 해당 크기를 더하면서 100픽셀이 넘으면 줄을 넘어가고 마지막 줄의 픽셀을 세팅하고 아닌 경우 이전 넓이와 더해주면서 계산하여 해결했습니다.

'알고리즘 문제 > Java' 카테고리의 다른 글

[LeetCode/Java] Binary Search  (0) 2026.07.06
[LeetCode/Java] Word Pattern  (0) 2026.07.05
[LeetCode/Java] Most Common Word  (0) 2026.07.03
[LeetCode/Java] Defanging an IP Address  (0) 2026.07.02
[LeetCode/Java] Rotate Strin  (0) 2026.07.01