-
[백준 - 6359번] 만취한 상범 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 8. 12. 15:32
이번에는 BOJ의 6359번 문제 "만취한 상범"을 풀어보도록 하자
입력으로 테스트 케이스 T가 주어지고, 그다음에 한 줄씩 방의개수 n (5 <= n <= 100) 이 주어진다. 그리고 k 라운드에 k 의 배수가 되는 감옥의 방문을 열려 있으면 닫고, 닫혀있으면 열려주는 것을 n라운드가 될때까지, 반복해주다가 마지막에 열려있는 방문의 개수를 출력하면 되는 문제이다.
방의개수의 상한이 100으로 작기 때문에, 그냥 문제에 나와있는 그대로 풀어도 된다.
성공한 코드는 아래와 같다.
import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int T = Integer.parseInt(br.readLine()); for (int i = 0; i < T; i++) { int n = Integer.parseInt(br.readLine()); boolean[] room = new boolean[n + 1]; for (int j = 1; j <= n; j++) { for (int k = 1; k * j <= n; k++) { if (room[k * j]) room[k * j] = false; else room[k * j] = true; } } int ans = 0; for (int j = 1; j <= n; j++) { if(room[j]) ans++; } bw.write(ans + "\n"); } bw.flush(); br.close(); bw.close(); } }
문제 : https://www.acmicpc.net/problem/6359
'Algorithm > BOJ(Baekjoon Online Judge)' 카테고리의 다른 글
[백준 - 2965번] 캥거루 세마리 - Java //Wello Horld// (0) 2019.08.12 [백준 - 10102번] 개표 - Java //Wello Horld// (0) 2019.08.12 [백준 - 2921번] 도미노 - Java //Wello Horld// (0) 2019.08.12 [백준 - 14652번] 나는 행복합니다~ - Java //Wello Horld// (0) 2019.08.12 [백준 - 2493번] 탑 - Java //Wello Horld// (0) 2019.08.06