[๋ฐฑ์ค] ๐ฅ 2635 ์ ์ด์ด๊ฐ๊ธฐ
๐ ๋์ด๋
๐ฅ Silver 5
๐ ๋ฌธ์
https://www.acmicpc.net/problem/2635
๐ ํ์ด
์ด ๋ฌธ์ ๋ฅผ ์ฝ๊ณ , ๋จ์ํ ์ฒซ๋ฒ์งธ ์ซ์์์ ๋๋ฒ์งธ ์ซ์๋ฅผ ๋บ ์ฐจ๋ฅผ ๊ณ์ ๋นผ์ ์์๊ฐ ๋ ๋๊น์ง์ ๊ฐ์์ธ์ค ์๊ณ , ๊ทธ์ ๋ฐ๋ผ์ ๊ตฌํ์ ํ์๋ค.
๊ทธ๋ฐ๋ฐ ์๊ฐํด๋ณด๋๊น ๋ฌด์กฐ๊ฑด 1๋ณด๋ค ์์ ์ซ์์ผ ์ ๋ฐ์ ์๋ ์ํฉ์ด ๋์๋ค.
๋ค์ ์ฒ์ฒํ ์ฝ์ด๋ณด๋, ๊ทธ ๋ค์ ์ซ์๋ค๋ ์ด์ ์ซ์์ ํ์ฌ ์ซ์๋ฅผ ๋นผ์ ๋ง๋๋ ๊ฒ์ด์๋ค.
๊ทธ๋์ ๋ง๋ค๊ณ ์๋ ์ฝ๋๋ฅผ ๊ฐ์์๊ณ ์๋ก ๊ตฌํํ๊ธฐ ์์ํ๋ค.
NumCotinue
ํจ์๋ฅผ ๋ง๋ค์ด์ firstNum
๊ณผ secondNum
์ ์ด์ฉํ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๊ณ , ๊ฐ์ฅ ํฐ ๊ฐ์๋ฅผ ๋ง๋ ๋ secondNum
์ ์ด์ฉํ์ฌ ๋ค์ ์ถ๋ ฅ์ ํ๋ค.
๋ค์์ ๊ทธ ์ฝ๋์ด๋ค.
๐ Code
package Math;
import java.io.*;
import java.util.StringTokenizer;
public class N2635 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter((System.out)));
StringTokenizer st = new StringTokenizer(br.readLine());
int num = Integer.parseInt(st.nextToken());
int result = 0;
int max = 0;
for (int i = 0; i < num + 1; i++) {
if ( result < NumContinue(num, i)){
result = NumContinue(num, i);
max = i;
}
}
System.out.println(result);
Show(num, max);
}
public static int NumContinue(int firstNum, int secondNum) {
int count = 1;
int thirdNum;
do {
thirdNum = firstNum - secondNum;
firstNum = secondNum;
secondNum = thirdNum;
count += 1;
} while (thirdNum >= 0);
return count;
}
public static void Show(int firstNum, int secondNum) {
System.out.print(firstNum);
int thirdNum;
do {
thirdNum = firstNum - secondNum;
firstNum = secondNum;
secondNum = thirdNum;
System.out.print(" " + firstNum);
} while (thirdNum >= 0);
}
}
package (์ด๋ฆ); ๋ฅผ ๋๊ณ , class ์ด๋ฆ์ Main
์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ๋๋ค.
๊ฐ์ธ ๊ณต๋ถ ๊ธฐ๋ก์ฉ ๋ธ๋ก๊ทธ์
๋๋ค.
ํ๋ฆฌ๊ฑฐ๋ ์ค๋ฅ๊ฐ ์์ ๊ฒฝ์ฐ ์ ๋ณดํด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.๐