
-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 |