일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- java
- 맛집
- 갑상선암
- leetcode
- 방사성 동위원소 치료
- 월간 코드 챌린지 시즌1
- 정렬 알고리즘
- 객체
- 갑상선암용인세브란스
- 림프절전이
- 용인세브란스병원
- 카페
- 입원
- 방사성동위원소치료
- 안드로이드
- firebase
- 임파선전이
- MYSQL
- Android
- 알고리즘
- 동위원소치료
- 수술
- 폐CT
- 경력 개발자
- 전이
- 이직 준비
- 프로그래머스
- 백준알고리즘
- Android Compose
- 저요오드식
Archives
- Today
- Total
새우버거의 개발 블로그
[JAVA] 프로그래머스 Lv.2 : 숫자의 표현 본문
예제:
n | result |
15 | 4 |
Solution #1
class Solution {
public int solution(int n) {
int answer = 0;
int index = 1, sum = 0;
while (index <= n) {
for (int i = index; i <= n; i++) {
sum += i;
if (sum == n) answer++;
}
sum = 0;
index++;
}
return answer;
}
}
Result #1
💡 while 반복문과 for 반복문을 사용해서 풀었다. 효율성 테스트에서 시간 초과가 나왔다.
혹시 예외 조건에 break; 를 추가해야 했나?
Solution #2
class Solution {
public int solution(int n) {
int answer = 0;
int index = 1, sum = 0;
while (index <= n) {
for (int i = index; i <= n; i++) {
sum += i;
if (sum == n) answer++;
else if (sum > n) break;
}
sum = 0;
index++;
}
return answer;
}
}
Result #2
💡 break; 추가하니 통과
반복문을 사용할 때는 예외 처리를 하느냐에 따라 효율성이 많이 달라진다는 것을 알게 되었다.
More Algorithm!
👇👇
github.com/ggujangi/ggu.programmers
ggujangi/ggu.programmers
프로그래머스 알고리즘, JAVA. Contribute to ggujangi/ggu.programmers development by creating an account on GitHub.
github.com
출처 : 프로그래머스
'프로그래머스 - JAVA > Level 2' 카테고리의 다른 글
[JAVA] 프로그래머스 Lv.2 : 올바른 괄호 (0) | 2021.06.23 |
---|---|
[JAVA] 프로그래머스 Lv.2 : 땅따먹기 (0) | 2021.06.23 |
[JAVA] 프로그래머스 Lv.2 : 최댓값과 최솟값 (0) | 2021.06.09 |
[JAVA] 프로그래머스 Lv.2 : 피보나치 수 (0) | 2021.06.09 |
[JAVA] 프로그래머스 Lv.2 : 최솟값 만들기 (0) | 2021.06.08 |