๋ถํ ์ ๋ณต(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์ธ..