์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ/BOJ_Java

[BOJ/Step8] 2292 : ๋ฒŒ์ง‘ (JAVA)

NaNaRin๐Ÿ™ƒ 2021. 1. 16. 20:35

www.acmicpc.net/problem/2292

 

2292๋ฒˆ: ๋ฒŒ์ง‘

์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์œก๊ฐํ˜•์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฒŒ์ง‘์ด ์žˆ๋‹ค. ๊ทธ๋ฆผ์—์„œ ๋ณด๋Š” ๋ฐ”์™€ ๊ฐ™์ด ์ค‘์•™์˜ ๋ฐฉ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์ด์›ƒํ•˜๋Š” ๋ฐฉ์— ๋Œ์•„๊ฐ€๋ฉด์„œ 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฒˆํ˜ธ๋ฅผ ์ฃผ์†Œ๋กœ ๋งค๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ˆซ์ž N์ด ์ฃผ์–ด์กŒ

www.acmicpc.net


๋ฌธ์ œ

์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์œก๊ฐํ˜•์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฒŒ์ง‘์ด ์žˆ๋‹ค. ๊ทธ๋ฆผ์—์„œ ๋ณด๋Š” ๋ฐ”์™€ ๊ฐ™์ด ์ค‘์•™์˜ ๋ฐฉ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์ด์›ƒํ•˜๋Š” ๋ฐฉ์— ๋Œ์•„๊ฐ€๋ฉด์„œ 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฒˆํ˜ธ๋ฅผ ์ฃผ์†Œ๋กœ ๋งค๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ˆซ์ž N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ฒŒ์ง‘์˜ ์ค‘์•™ 1์—์„œ N๋ฒˆ ๋ฐฉ๊นŒ์ง€ ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ๋ฐฉ์„ ์ง€๋‚˜์„œ ๊ฐˆ ๋•Œ ๋ช‡ ๊ฐœ์˜ ๋ฐฉ์„ ์ง€๋‚˜๊ฐ€๋Š”์ง€(์‹œ์ž‘๊ณผ ๋์„ ํฌํ•จํ•˜์—ฌ)๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, 13๊นŒ์ง€๋Š” 3๊ฐœ, 58๊นŒ์ง€๋Š” 5๊ฐœ๋ฅผ ์ง€๋‚œ๋‹ค.

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— N(1 ≤ N ≤ 1,000,000,000)์ด ์ฃผ์–ด์ง„๋‹ค.

 

์ถœ๋ ฅ

์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋ฐฉ๊นŒ์ง€ ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ๋ฐฉ์„ ์ง€๋‚˜์„œ ๊ฐˆ ๋•Œ ๋ช‡ ๊ฐœ์˜ ๋ฐฉ์„ ์ง€๋‚˜๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค.

 

์˜ˆ์ œ ์ž…๋ ฅ 

13

 

์˜ˆ์ œ ์ถœ๋ ฅ 

3


ํ’€์ด

1. ์ค‘์•™์˜ ๋ฐฉ 1์—์„œ์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ์ค‘์•™ ๊ธฐ์ค€ ๋ช‡๋ฒˆ์งธ ์œก๊ฐํ˜•์— ํ•ด๋‹น ์ˆซ์ž๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€์— ๋”ฐ๋ผ ์ •ํ•ด์ง„๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

2. ์œก๊ฐํ˜•์€ ์ฒ˜์Œ 1๊ฐœ, ๋‘๋ฒˆ์งธ 6๊ฐœ, ์„ธ๋ฒˆ์งธ 12๊ฐœ, ๋„ค๋ฒˆ์งธ 18๊ฐœ๋กœ, ์ฒซ๋ฒˆ์งธ ํ•ญ์„ ์ œ์™ธํ•˜๊ณ  n๋ฒˆ์งธ๋Š” (n-1)*6๊ฐœ ๊ทœ์น™์„ ๋”ฐ๋ฅธ๋‹ค.

3. ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์ˆซ์ž a๋ฅผ num๊ณผ ๋น„๊ต ( num = ๋ช‡๋ฒˆ์งธ ์œก๊ฐํ˜•์— ์กด์žฌํ•˜๋Š”์ง€ ๊ธฐ์ค€์ด ๋˜๋Š” ์ˆ˜, ์ฒ˜์Œ 1๋กœ ์ดˆ๊ธฐํ™” )

4. a๊ฐ€ 1๊ณผ ๊ฐ™๊ฑฐ๋‚˜ ํฌ๋ฉด 1์„ ์ถœ๋ ฅ, ์•„๋‹ˆ๋ผ๋ฉด num์— 6 * n์„ ๋”ํ•ด์ฃผ๊ณ  n++

 

import java.util.Scanner;

public class B2282 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int a = sc.nextInt();
		int n = 1;
		int num = 1;
		
		while(true) {
			if(a <= num) {
				System.out.println(n);
				break;
			} else {
				num += 6 * n++;
			}		
		}	
	}
}