본문 바로가기
알고리즘 문제풀이/백준

[백준 6359] 만취한 상범(JAVA)

by 소보루:-) 2020. 3. 11.

https://www.acmicpc.net/problem/6359

 

6359번: 만취한 상범

문제 서강대학교 곤자가 기숙사의 지하에는 n개의 방이 일렬로 늘어선 감옥이 있다. 각 방에는 벌점을 많이 받은 학생이 구금되어있다. 그러던 어느 날, 감옥 간수인 상범이는 지루한 나머지 정신나간 게임을 하기로 결정했다. 게임의 첫 번째 라운드에서 상범이는 위스키를 한 잔 들이키고, 달려가며 감옥을 한 개씩 모두 연다. 그 다음 라운드에서는 2, 4, 6, ... 번 방을 다시 잠그고, 세 번째 라운드에서는 3, 6, 9, ... 번 방이 열려있으면 잠그고

www.acmicpc.net

 

 

 

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;

public class Main {

	static int N;
	static int[] d;
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int t=sc.nextInt();
		for(int tc=1; tc<=t; tc++) {
			N=sc.nextInt();
			d=new int[N+1];//0잠김 1열림
			for(int i=1; i<=N; i++) {
				for(int j=1; i*j<=N; j++) {
					if(d[i*j]!=0) d[i*j]=0;
					else  d[i*j]=1;
				}
			}
			int ans=0;
			for(int i=1; i<=N; i++) {
				ans+=d[i];
			}
			System.out.println(ans);
		}
	}

}

댓글