๐Ÿ“œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ/BAEKJOON\์ˆ˜ํ•™ 1, ์ˆ˜ํ•™ 2

๋ฐฑ์ค€ 1011๋ฒˆ : Fly me to the Alpha Centauri (JAVA) ๋ฌธ์ œ ํ’€์ด

2020. 10. 23. 15:29
๋ชฉ์ฐจ
  1. www.acmicpc.net/problem/1011
  2.  
  3. ๋‚˜์˜ ํ’€์ด
๋ฐ˜์‘ํ˜•

www.acmicpc.net/problem/1011

 

1011๋ฒˆ: Fly me to the Alpha Centauri

์šฐํ˜„์ด๋Š” ์–ด๋ฆฐ ์‹œ์ ˆ, ์ง€๊ตฌ ์™ธ์˜ ๋‹ค๋ฅธ ํ–‰์„ฑ์—์„œ๋„ ์ธ๋ฅ˜๋“ค์ด ์‚ด์•„๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ฏธ๋ž˜๊ฐ€ ์˜ค๋ฆฌ๋ผ ๋ฏฟ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฐ€ ์ง€๊ตฌ๋ผ๋Š” ์„ธ์ƒ์— ๋ฐœ์„ ๋‚ด๋ ค ๋†“์€ ์ง€ 23๋…„์ด ์ง€๋‚œ ์ง€๊ธˆ, ์„ธ๊ณ„ ์ตœ์—ฐ์†Œ ASNA ์šฐ์ฃผ ๋น„ํ–‰

www.acmicpc.net

 


 

 

์ด ๋ฌธ์ œ๋Š” ์ •๋ง ์–ด๋ ค์› ๋‹ค.. ๊ฒฐ๊ตญ ์ธํ„ฐ๋„ท์— ํ’€์ด๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ ์ฐพ์•„๋ดค๋‹ค ใ… .........

์ผ๋‹จ ๊ทœ์น™์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ ํ‘œ๋ฅผ ํ•œ๋ฒˆ ๊ทธ๋ ค๋ณด์ž.

distance  = y - x

move = ๋ชจ๋“  ์ด๋™ ๊ฑฐ๋ฆฌ

count = ์ด ์ด๋™ ํšŸ์ˆ˜

max  = ์ด๋™ ๊ฑฐ๋ฆฌ ์ค‘ ์ตœ๋Œ€ ์ด๋™ ๊ฑฐ๋ฆฌ

์œ„์— ํ‘œ๋ฅผ ๋ณด๋ฉด ์„ธ๊ฐ€์ง€ ๊ทœ์น™์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

  1. max ๊ฐ€ ๋ณ€ํ•˜๋Š” ์‹œ์ ์— distance๋Š” max์˜ ์ œ๊ณฑ์ด ๋œ๋‹ค.
  2. max๊ฐ€ ๋ณ€ํ•˜๋Š” ์‹œ์ ์— count๋Š” max * 2 - 1์ด ๋œ๋‹ค.
  3. max๊ฐ€ ๋ณ€ํ•œ ์‹œ์ ๋ถ€ํ„ฐ count๊ฐ€ max๊ฐœ์”ฉ ๋ถ„๋ฆฌ๋˜์–ด count๊ฐ€ ๊ฐ™๊ฒŒ ๋œ๋‹ค. (์ด ๋ถ€๋ถ„์€ ์•„๋ž˜์—์„œ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.)

 

๊ทœ์น™ 1.

// distance = max * max ;
int max = (int) Math.sqrt(distance);

 

๊ทœ์น™ 2.

// max๊ฐ€ distance์˜ ์ œ๊ณฑ๊ทผ์ผ ๊ฒฝ์šฐ
if( max == Math.sqrt(distance) ){
	count = max * 2 - 1;
}

 

๊ทœ์น™ 3.

์œ„์— ํ‘œ๋Š” ๊ทธ๋ฆฐ ํ‘œ์˜ ์ผ๋ถ€๋ถ„์„ ์ž˜๋ผ์˜จ ๋ถ€๋ถ„์ด๋‹ค.

max๊ฐ€ ๋ณ€ํ•œ ์‹œ์ ์ธ 9 ๋ถ€ํ„ฐ ๋‹ค์Œ์œผ๋กœ ๋ณ€ํ•˜๋Š” ์‹œ์ ์ธ 16๊นŒ์ง€์˜ ์‚ฌ์ด์— ์žˆ๋Š” ๊ฐœ์ˆ˜๊ฐ€ max*2๊ฐœ ๊ฐ€ ๋œ๋‹ค.

max๊ฐ€ ๋ณ€ํ•œ ์‹œ์ ์ดํ›„๋กœ max๊ฐœ๋Š” count๊ฐ€ max * 2๊ฐ€ ๋˜๊ณ ,

๊ทธ ์ดํ›„๋กœ max๊ฐœ๋Š” count๊ฐ€ max * 2 + 1์ด ๋œ๋‹ค.

 

๊ทธ๋Ÿผ ์šฐ๋ฆฌ๋Š” count๋ฅผ ์ด๋ ‡๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

// max * max < distance <= max*max + max --> max*2
// max*max + max < distance  --> max*2 + 1

if( distance <= max * max + max ){
	count = max * 2;
} else {
	count = max * 2 + 1;
}

 

 

 

 

๋‚˜์˜ ํ’€์ด

package Baekjoon;

import java.io.*;
import java.util.StringTokenizer;

public class Alpha_Centauri {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st;
        long X;
        long Y;
        long distance; // ํ–‰์„ฑ ๊ฐ„ ๊ฑฐ๋ฆฌ
        long max;
        long count = 0;

        int T = Integer.parseInt(bf.readLine());

        for (int i = 0; i < T; i++) {
            st = new StringTokenizer(bf.readLine());
            X = Integer.parseInt(st.nextToken());
            Y = Integer.parseInt(st.nextToken());
            distance = Y - X; // ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ
            max = (int)Math.sqrt(distance); // max ๊ตฌํ•˜๊ธฐ

            if (max == Math.sqrt(distance)) {
                count = max * 2 - 1;
            }else{
                if (distance <= max*max + max) {
                    count = max * 2;
                }else {
                    count = max * 2 + 1;
                }
            }
            bw.write(count + "\n");
        }
        bw.flush();
        bw.close();
    }
}

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)
  1. www.acmicpc.net/problem/1011
  2.  
  3. ๋‚˜์˜ ํ’€์ด
'๐Ÿ“œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ/BAEKJOON\์ˆ˜ํ•™ 1, ์ˆ˜ํ•™ 2' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๋ฐฑ์ค€ 1002๋ฒˆ : ํ„ฐ๋ › (JAVA) ๋ฌธ์ œ ํ’€์ด
  • ๋ฐฑ์ค€ 3009๋ฒˆ : ๋„ค ๋ฒˆ์งธ ์  (JAVA) ๋ฌธ์ œ ํ’€์ด
  • ๋ฐฑ์ค€ 2869๋ฒˆ : ๋‹ฌํŒฝ์ด๋Š” ์˜ฌ๋ผ๊ฐ€๊ณ  ์‹ถ๋‹ค (JAVA) ๋ฌธ์ œ ํ’€์ด
  • ๋ฐฑ์ค€ 1193๋ฒˆ : ๋ถ„์ˆ˜ ์ฐพ๊ธฐ (JAVA) ๋ฌธ์ œ ํ’€์ด
iseunghan
iseunghan
๊พธ์ค€ํ•˜๊ฒŒ ์—ด์‹ฌํžˆ..
iseunghan
iseunghan

๊ณต์ง€์‚ฌํ•ญ

  • ์–ด์ œ๋ณด๋‹ค ๋‚˜์€ ์˜ค๋Š˜์ด ๋˜๊ธฐ ์œ„ํ•ด ๐Ÿ”ฅ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (261)
    • ๐Ÿ’ Spring (14)
      • ๊ฐœ๋… ๋ฐ ์ดํ•ด (2)
      • Spring ํ•ต์‹ฌ ๊ธฐ์ˆ  (24)
      • Spring REST API (8)
      • Spring MVC, DB ์ ‘๊ทผ ๊ธฐ์ˆ  (7)
      • Spring Security (23)
      • Spring in Action (1)
    • ๐ŸŒป JAVA (84)
      • ์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ (20)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ž๋ฃŒ๊ตฌ์กฐ (13)
      • ๋””์ž์ธ ํŒจํ„ด (7)
      • ์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ (43)
      • JUnit (1)
    • ๐Ÿ”– Snippets (3)
      • Javascript (3)
    • โš™๏ธ Devops (22)
      • โ› Git (11)
      • ๐Ÿณ Docker (6)
      • ๐Ÿง Linux (3)
      • ๐ŸŒˆ Jenkins (1)
      • ๐Ÿ“ฌ Kafka (1)
    • ๐Ÿ’ฌ ETC.. (4)
      • ๐Ÿ’ป macOS (2)
    • ๐ŸŒง๏ธ ORM (2)
      • JPA (2)
    • ๐Ÿ Python (2)
    • ๐Ÿ“š Databases (15)
      • ์˜ค๋ผํด๋กœ ๋ฐฐ์šฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ก ๊ณผ ์‹ค์Šต(2ํŒ) (3)
      • RealMySQL 8.0 (8)
    • ๐Ÿ”ฅ Computer Science (5)
      • ๐Ÿ“ก ๋„คํŠธ์›Œํฌ (5)
    • ๐Ÿท๏ธ ํ˜‘์—… (1)
    • ๐Ÿ“œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ (38)
      • BAEKJOON\์ˆ˜ํ•™ 1, ์ˆ˜ํ•™ 2 (8)
      • BAEKJOON\์žฌ๊ท€ (5)
      • BAEKJOON\๋ธŒ๋ฃจํŠธ ํฌ์Šค (3)
      • BAEKJOON\์ •๋ ฌ (1)
      • BAEKJOON\๋ฐฑํŠธ๋ž˜ํ‚น (5)
      • BAEKJOON\BFS, DFS (6)
      • BAEKJOON\์ด๋ถ„ํƒ์ƒ‰ (1)
      • BAEKJOON\๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ (9)
      • BAEKJOON\๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ (0)
    • โœจ ISEUNGHAN (1)

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
๋ฐ˜์‘ํ˜•
hELLO ยท Designed By ์ •์ƒ์šฐ.
iseunghan
๋ฐฑ์ค€ 1011๋ฒˆ : Fly me to the Alpha Centauri (JAVA) ๋ฌธ์ œ ํ’€์ด
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.