μ΅œλŒ€ 1 λΆ„ μ†Œμš”

πŸ“ [B2_8320] μ§μ‚¬κ°ν˜•μ„ λ§Œλ“œλŠ” 방법

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        // 길이가 1인 μ •μ‚¬κ°ν˜•
        int N = Integer.parseInt(br.readLine());

        // λ§Œλ“€μˆ˜ μžˆλŠ” 총 μ§μ‚¬κ°ν˜•
        int res = 0;
        res += N;
        // n의 κ°œμˆ˜κ°€
        for(int i=2; i<N; i++){
            for(int j=i; j<=N/2; j++){
                if(i*j<=N){
                    res++;
                }
            }
        }
        System.out.println(res);

    }
}

πŸ€” λ‚˜μ˜ 생각

문제λ₯Ό 보고 κ·œμΉ™μ„ λ¨Όμ € μ°Ύμ•„μ•Όκ² λ‹€ μƒκ°ν–ˆλ‹€.
일단 ν•œ 쀄인 κ²½μš°λŠ” Nκ°œκ°€ λ‚˜μ˜€κ³ 
μ§μ‚¬κ°ν˜•μ˜ νŠΉμ„±μƒ x*y이기 λ•Œλ¬Έμ— κ·Έ 곱이 N을 λ„˜μœΌλ©΄ μ•ˆλœλ‹€.
두 가지 쑰건을 μ΄μš©ν•΄μ„œ κ΅¬ν•΄μ£Όμ—ˆλ‹€.