๋ถ„ํ•  ์ •๋ณต(Divide and Conquer)

    ๐Ÿ‘‰ ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ n๊ฐœ์˜ ๋ถ€๋ถ„ ๋ฌธ์ œ๋“ค๋กœ ๋‚˜๋ˆˆ ํ›„, ๊ฐ ๋ถ€๋ถ„ ๋ฌธ์ œ๋“ค์˜ ํ•ด๋ฅผ ๊ตฌํ•˜์—ฌ ์›๋ž˜ ๋ฌธ์ œ์˜ ํ•ด๋‹ต์œผ๋กœ ๊ฒฐํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๐Ÿ‘‰ ๋ถ€๋ถ„ ๋ฌธ์ œ๋“ค์€ ์›๋ž˜์˜ ๋ฌธ์ œ์™€ ๊ฐ™์€ ์œ ํ˜•์ด๋ฉฐ, ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋งŒ ์ž‘๋‹ค. ๐Ÿ‘‰ ๋ณดํ†ต ์ˆœํ™˜ ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•œ๋‹ค. if(๋ฌธ์ œ์˜ ํฌ๊ธฐ๊ฐ€ ์ถฉ๋ถ„ํžˆ ์ž‘์œผ๋ฉด) return ํ•ด๋‹ต else{ ๋ฌธ์ œ๋ฅผ ๋” ์ž‘์€ n๊ฐœ์˜ ๋ถ€๋ถ„ ๋ฌธ์ œ๋“ค๋กœ ๋‚˜๋ˆˆ๋‹ค ๋‚˜๋ˆˆ ๋ถ€๋ถ„ ๋ฌธ์ œ๋“ค์— ๋Œ€ํ•ด์„œ ๋‹ค์‹œ ์ˆœํ™˜ํ˜ธ์ถœ return ๋ถ€๋ถ„ ๋ฌธ์ œ๋“ค์˜ ํ•ด๋‹ต ๊ฒฐํ•ฉ } 1. ์ด์ง„ ํƒ์ƒ‰(์ด๋ถ„ํƒ์ƒ‰) 1.1 ๋ฌธ์ œ : ์ •๋ ฌ๋œ ์ƒํƒœ์˜ ๋ฆฌ์ŠคํŠธ์—์„œ x์˜ ๊ฐ’์ด ์กด์žฌํ•œ๋‹ค๋ฉด, ๊ทธ ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๋ผ ๐Ÿ‘‰ ๋ถ„ํ•  ์ •๋ณต ๊ธฐ๋ฒ• ์ ์šฉ n=1์ด๋ฉด(์›์†Œ๊ฐ€ 1๊ฐœ ์žˆ์„ ๋•Œ) { x=์›์†Œ return ํ•ด x!=์›์†Œ return -1 } n>1์ด๋ฉด { ๊ธฐ์ค€ ์›์†Œ๋ณด๋‹ค ์•ž์˜ ์›์†Œ๋“ค ์ง‘..

    ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค๊ณ„๊ธฐ๋ฒ• ์ •๋ฆฌ

    ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€? - ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ˆœ์„œ๋Œ€๋กœ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ธฐ์ˆ ํ•œ ๊ฒƒ - ์–ด๋– ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ •ํ•ด์ง„ ์ผ๋ จ์˜ ์ ˆ์ฐจ๋‚˜ ๋ฐฉ๋ฒ•์„ ๊ณต์‹ํ™”ํ•œ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ - ๋ฌธ์ œ ํ•ด๊ฒฐ์— ํ•„์š”ํ•œ ๊ณ„์‚ฐ ์ ˆ์ฐจ ๋˜๋Š” ์ฒ˜๋ฆฌ ๊ณผ์ •์˜ ์ˆœ์„œ - ์ œํ•œ๋œ ์‹œ๊ฐ„๊ณผ ๊ณต๊ฐ„ ์•ˆ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•  ๊ฒƒ์ธ์ง€ ์ •์˜ํ•œ ๋กœ์ง - ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ํŠน์ •ํ•œ ์ž…๋ ฅ์„ ๋ฐ›์•„์„œ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ์ธ ํ•ด๋ฅผ ์ถœ๋ ฅ 1. ๋ถ„ํ• ์ •๋ณต(Divide and Conquer) 1.1 ์ •์˜ ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ๊ฐ™์€ ์œ ํ˜•์˜ ๋” ์ž‘์€ ๋ถ€๋ถ„ ๋ฌธ์ œ๋“ค๋กœ ๋” ์ด์ƒ ๋‚˜๋ˆŒ ์ˆ˜ ์—†์„ ๋•Œ๊นŒ์ง€ ๋‚˜๋ˆˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์˜ ๋ถ€๋ถ„ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•œ ํ›„, ๋‹ค์‹œ ํ•ฉ๋ณ‘ํ•˜์—ฌ ๋ฌธ์ œ์˜ ๋‹ต์„ ์–ป๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. 1.2 ์ „๋žต โ‘  ๋ถ„ํ• (Divide) : ๋ฌธ์ œ๋ฅผ ๋™์ผํ•œ ์œ ํ˜•์˜ ์—ฌ๋Ÿฌ ํ•˜์œ„ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆˆ๋‹ค. โ‘ก ์ •๋ณต(Conquer) : ๊ฐ€..

    #15552 ๋น ๋ฅธ A+B

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.IOException; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputSt..

    #2884 ์•Œ๋žŒ ์‹œ๊ณ„

    import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int H = scan.nextInt(); int M = scan.nextInt(); //45๋ถ„์„ ๊ธฐ์ค€์œผ๋กœ 45๋ถ„๋ณด๋‹ค ํฌ๋ฉด ๊ทธ๋ƒฅ 45๋ฅผ ์ž…๋ ฅ๋ฐ›์€ M์—์„œ ๋นผ์ค€๋‹ค if(M>=45){ M = M-45; System.out.println(H+" "+M); } //์ž…๋ ฅ๋ฐ›์€ M์ด 45๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ์—๋Š” //1. H๊ฐ€ 0๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ, H์—์„œ 1์„ ๋นผ์ฃผ๊ณ  60-45+M else if(M0){ H = H-1; M = M+15; System.out.println(H+" "+M); } //2. H๊ฐ€ 0์ธ..