728x90
반응형
[프로그래머스] 코딩테스트 연습 -> 코딩테스트 입문 -> 순서쌍의 개수
https://school.programmers.co.kr/learn/courses/30/lessons/120836
해결 과정
우선 이중 for문을 이용해 i*j가 20이 되는 경우에 answer ++를 이용하여 순서쌍의 개수를 1씩 증가시켜준다
하지만 이 부분에서 몇개의 테스트 케이스가 시간초과가 나왔다.
이중 for문에서 반복하는 도중에 시간초과가 나왔다고 생각하고
어떠한 조건을 벗어났을 때 break를 이용하여 반복횟수를 줄여야 한다고 생각했다.
그래서 if문 하나를 추가하여 i*j가 20을 초과했을 때 break;문을 이용하여 속 for문을
탈출시켜준 결과 통과할 수 있었다.
소스 코드
class Solution {
public int solution(int n) {
int answer = 0;
for (int i = 1; i<=n; i++) {
for (int j = 1; j <= n; j++) {
if (i*j == n) {
answer++;
}
if (i*j > n) {
break;
}
}
}
return answer;
}
}
728x90
반응형
'JAVA > Programmers' 카테고리의 다른 글
JAVA 프로그래머스 [개미 군단] 자바 Lv.0 (0) | 2023.05.30 |
---|---|
JAVA 프로그래머스 [모스부호 (1)] 자바 (0) | 2023.05.30 |
JAVA 프로그래머스 [배열 자르기] 자바 Lv.0 (0) | 2023.05.29 |
JAVA 프로그래머스 [외계행성의 나이] 자바 Lv.0 (0) | 2023.05.29 |
JAVA 프로그래머스 [진료순서 정하기] 자바 Lv.0 (0) | 2023.05.29 |
댓글