본문 바로가기
JAVA/Programmers

JAVA 프로그래머스 [순서쌍의 개수] Lv.0

by tripleup 2023. 5. 29.
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
반응형

댓글