말하는 컴공감자의 텃밭

백준 13909번 창문 닫기 <S5> - 구현 본문

알고리즘/Backjoon - Java

백준 13909번 창문 닫기 <S5> - 구현

현콩 2023. 10. 20. 14:33
728x90

백준 13909번 창문 닫기

단순 구현문제이다.

N번째는 N의 배수의 창문을 열고 열려있으면 닫는다.

창문은 홀수번 열어야 열려있는 상태이므로 약수가 세개인 경우를 생각하다가 제곱수를 떠올렸다.

제곱수는 모두 약수가 3개이다. ex) 4 -> 4, 2, 1 / 9 - > 9, 3, 1

 

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
import java.util.*;
import java.util.Scanner;
 
 
public class Main {
       
    public static void main(String[] args) {
        // Input
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int answer = 0;
 
        //logic 
        // 홀수번 열어야 창문이 열린다. 1에서 다 열기 때문.
        // ex) N => 4, 1 1 1 1 -> 1 0 1 0 -> 1 0 0 0 -> 1 0 0 1
        // 약수가 홀수개 -> 제곱수. ex) 4 -> 1,2,4
        for(int i = 1; i*<= N; i++) {
            answer ++;
        }
              //output
            System.out.print(answer); 
        }
                 
}
 
  
 
cs

 

단순하게 생각했다면 메모리 문제가 있었을듯 싶다.

728x90
Comments