๋ฌธ์ Silver 4
์ด๋ค ์์ ์ ์ X์ ๊ฐ ์๋ฆฌ๊ฐ ๋ฑ์ฐจ์์ด์ ์ด๋ฃฌ๋ค๋ฉด, ๊ทธ ์๋ฅผ ํ์๋ผ๊ณ ํ๋ค. ๋ฑ์ฐจ์์ด์ ์ฐ์๋ ๋ ๊ฐ์ ์์ ์ฐจ์ด๊ฐ ์ผ์ ํ ์์ด์ ๋งํ๋ค. N์ด ์ฃผ์ด์ก์ ๋, 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , N๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ํ์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์ N์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , N๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ํ์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int cnt = 0;
for(int i =1 ; i <= n ; i++) {
int tmp[] = new int [1000];
int num = i;
int j =0;
while(num > 0) {
tmp[j++] = num%10;
num /= 10;
}
if(isArith(tmp,j)) cnt++;
}
System.out.println(cnt);
sc.close();
}
public static boolean isArith(int[] tmp, int j) {
int i = 0;
int dif = tmp[0]-tmp[1];
for(i =0 ; i < j-1 ; i++) {
if(dif != (tmp[i]-tmp[i+1])) break;
}
if(i == j-1) return true;
return false;
}
}
์ฒ์์ ํจ์ ์์ด ํ์๋ค๊ฐ, ํจ์ ์นดํ ๊ณ ๋ฆฌ์ธ๊ฑฐ ์๊ณ ๋ค์ ํจ์ ํํ๋ก ๊ณ ์ณค๋คใ ใ ใ ใ ใ
์ฐ์ tmp๋ฐฐ์ด์ ๊ฐ ์๋ฆฌ์ซ์๋ค์ ๋ฃ์ด ์ค ํ, ๋ฑ์ฐจ์์ด์ธ์ง ํ๋ณํ๋ ํจ์๋ก ๋ฐฐ์ด๊ณผ ๋ฐฐ์ด ํฌ๊ธฐ์ธ j๋ฅผ ๋ณด๋ธ๋ค.
๊ทธ ํ, ํจ์ ๋ด์์ ๋ฑ์ฐจ์์ด์ ํ๋ณํ ๋ค boolean๊ฐ์ผ๋ก return-!
'๐ ์๊ณ ๋ฆฌ์ฆ > ๊ธฐ๋ณธ๋ฌธ๋ฒ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 2941๋ฒ_ํฌ๋ก์ํฐ์ ์ํ๋ฒณ (0) | 2021.07.24 |
---|---|
[๋ฐฑ์ค] 1157๋ฒ_๋จ์ด๊ณต๋ถ (0) | 2021.07.24 |
[๋ฐฑ์ค] 4673๋ฒ_์ ํ๋๋ฒ (0) | 2021.07.24 |
[๋ฐฑ์ค] 4344๋ฒ_ํ๊ท ์ ๋๊ฒ ์ง (0) | 2021.07.22 |
[๋ฐฑ์ค] 2577๋ฒ_์ซ์์ ๊ฐ์ (0) | 2021.07.22 |