์ฒด๊ฐ Level : โ
โ
โ Review: ์ซ์ ์๋ฆฟ์ ๋น๊ต๋ฒ |
๐ก 1๋ถํฐ 13๊น์ง์ ์์์, 1์ 1, 10, 11, 12, 13 ์ด๋ ๊ฒ ์ด 6๋ฒ ๋ฑ์ฅํฉ๋๋ค. ์ ์ i, j, k๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, i๋ถํฐ j๊น์ง k๊ฐ ๋ช ๋ฒ ๋ฑ์ฅํ๋์ง return
https://school.programmers.co.kr/learn/courses/30/lessons/120887
๋ฌธ์์ด๋ก ๋ฐ๊ฟ์ ๋น๊ต or ์ซ์ ์๋ฆฟ์ ๋ง๋ค ๋น๊ต ? ๊ณ ๋ฏผํ๋๋ฐ
๋ฌธ์์ด๋ก ๋์ ํด๋ดค๋ค.
1) ์ฃผ์ด์ง ๋ฒ์ i ~ j ์ ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํด์ ๋ฐฐ์ด์ ๋ฃ์ด์ค๋ค.
2) ๋ฐฐ์ด์ ์ํํ๋ฉด์ ํด๋น๊ฐ์ ์๋ฆฟ์ ํ๋ํ๋ k ์ ๊ฐ์์ง
3) ๋น๊ตํด์ฃผ๊ณ ๊ฐ์ผ๋ฉด answer ++
class Solution {
public int solution(int i, int j, int k) {
int answer = 0;
String[] arr = new String[j];
// i๋ถํฐ j ๊น์ง ๋ฌธ์์ด ๋ณํ
for (int a = i; a <= j; a++){
arr[a-1] = String.valueOf(a);
}
for (int a = i-1; a <= j-1; a++){
for (int b = 0; b < arr[a].length(); b++){
String s = arr[a].substring(b,b+1);
if (s.equals(String.valueOf(k))){
answer ++;
}
}
}
return answer;
}
}
[์ฐธ๊ณ ]
๋ฌธ์์ด ์ฌ์ฉ ์์ด ํผ ์ฝ๋์ด๋ค. ๊ฐ๊ฒฐํ๊ณ ์ข์ ์ฝ๋ !!
1) i~j ๊น์ง ๋ฐ๋ณตํด์ค๋ค.
2) tmp ๊ฐ 0์ด ์๋๋๊น์ง ๋ฐ๋ณตํ๋ค.
3) tmp์ ๋๋จธ์ง ๊ฐ์ด k ๋ ๊ฐ์ผ๋ฉด answer ++
4) tmp /= 10 ๊ณ์ํด์ tmp ๋ฅผ ๋๋ ์ฃผ๋ฉด์ ์๋ฆฟ์๋ง๋ค ๋น๊ตํ๋ค.
5) tmp ๊ฐ 0์ด๋๋ฉด ๋ค์ num ๊ฐ์ผ๋ก ๋์ด๊ฐ๋ฉด์ ๋ฐ๋ณต.
class Solution {
public int solution(int i, int j, int k) {
int answer = 0;
for (int num = i; num <= j; num++){
int tmp = num;
while (tmp != 0){
if (tmp % 10 == k)
answer++;
tmp /= 10;
}
}
return answer;
}
}