๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 14232_๋ณด์„ ๋„๋‘‘

๋ฟŒ์•ผ._. 2024. 4. 1. 17:53

Silver I

๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/14232)

< ๋ณด์„ ๋„๋‘‘ >

 

๋ฌธ์ œ ํ’€์ด 

 

ํšจ์œจ์ ์œผ๋กœ ์•ฝ์ˆ˜๋ฅผ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฐพ์•„๋ณด๋‹ˆ ๊ตฌํ•˜๋ ค๋Š” ์ˆ˜์˜ ์ œ๊ณฑ๊ทผ๊นŒ์ง€ ์ˆ˜๋งŒ 0์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š”์ง€ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค.

 

 my solution (Java)

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;

public class _14232_ { // ๋ณด์„ ๋„๋‘‘

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		Long k = Long.parseLong(bf.readLine());

		ArrayList<Integer> list = new ArrayList<>();
		for (int i = 2; i <= Math.sqrt(k) + 1; i++) {
			while (k%i == 0) {
				list.add(i);
				k/=i;
			}
		}

		if (k > 1) {
			bw.write(list.size() + 1 + "\n");
		} else {
			bw.write(list.size() + "\n");
		}

		for (int i = 0; i < list.size(); i++) {
			bw.write(list.get(i) + " ");
		}
		if (k > 1) {
			bw.write(k + "");
		}

		bw.flush();
	}
}
๋ณ€์ˆ˜)
k : ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฌด๊ฒŒ
list : ํ›”์ณ์˜ฌ ๋ณด์„๋“ค์˜ ๋ฌด๊ฒŒ

 

๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฌด๊ฒŒ k๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. 2๋ถ€ํ„ฐ (k์˜ ์ œ๊ณฑ๊ทผ+1)๊นŒ์ง€ ํƒ์ƒ‰ํ•˜์—ฌ ์•ฝ์ˆ˜๋ฅผ ์ฐพ๋Š”๋‹ค. k๊ฐ€ i๋กœ ๋‚˜๋ˆ ์ง„๋‹ค๋ฉด ๋‚˜๋ˆ„๊ณ  list์— i๋ฅผ ์ €์žฅํ•œ๋‹ค. i๋กœ ๋‚˜๋ˆ ์ง€์ง€ ์•Š์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.

 

๋งŒ์•ฝ ์œ„์˜ ๊ณผ์ •์„ ๋‹ค ๋๋‚ธ ํ›„ k๊ฐ’์ด 1๋ณด๋‹ค ํฌ๋‹ค๋ฉด list ํฌ๊ธฐ +1์„ ์ถœ๋ ฅํ•œ๋‹ค. k๊ฐ’์ด 1์ด๋ผ๋ฉด list ํฌ๊ธฐ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. list๋ฅผ ์ˆœํ™˜ํ•˜๋ฉด์„œ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ณ  ๋งˆ์ง€๋ง‰์— k๊ฐ’์ด 1๋ณด๋‹ค ํด ๋•Œ k๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.



 

'๐ŸŒžAlgorithm > ๐Ÿ”ฅBaekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Baekjoon] 1835_์นด๋“œ  (0) 2024.04.03
[Baekjoon] 1531_ํˆฌ๋ช…  (0) 2024.04.02
[Baekjoon] 9440_์ˆซ์ž ๋”ํ•˜๊ธฐ  (0) 2024.03.29
[Baekjoon] 2594_๋†€์ด๊ณต์›  (0) 2024.03.28
[Baekjoon] 1730_ํŒํ™”  (1) 2024.03.27