kμ κ°μ (with.Java)
βkμ κ°μ (with.Java)β λ¬Έμ μ λνμ¬ μμλ³Έ κΈμ λλ€.
μ½λ© ν μ€νΈ λ¬Έμ λ₯Ό νλ©°, νμλ λ¬Έμ μ λν νκ³ μ λ€λ₯Έ νμ΄ λ°©λ²μ μμ보며, μμκ°κ³ μ ν©λλ€.
λ¬Έμ μ λν΄ λ¨Όμ μμλ³΄κ² μ΅λλ€.
λ¬Έμ
1λΆν° 13κΉμ§μ μμμ, 1μ 1, 10, 11, 12, 13 μ΄λ κ² μ΄ 6λ² λ±μ₯ν©λλ€.
μ μ i, j, kκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, iλΆν° jκΉμ§ kκ° λͺ λ² λ±μ₯νλμ§ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- 1 β€ i < j β€ 100,000
- 0 β€ k β€ 9
μ μΆλ ₯ μμ
i | j | k | result |
---|---|---|---|
1 | 13 | 1 | 6 |
10 | 50 | 5 | 5 |
3 | 10 | 2 | 0 |
λ¬Έμ μ λν λμ νμ΄
class Solution {
public int solution(int i, int j, int k) {
int answer = 0;
String str = "0";
char ch = '0';
for(int a = i; a <= j; a++){
str = Integer.toString(a);
for(int b = 0; b < str.length(); b++){
ch = str.charAt(b);
if(ch == Integer.toString(k).charAt(0)){
answer++;
}
}
}
return answer;
}
}
νμ΄ λ¦¬λ·°
answer λ³μλ₯Ό μ΄κΈ°κ° 0μΌλ‘ μ€μ ν©λλ€.
μ΄ λ³μλ κ²°κ³Όλ₯Ό λνλ λλ€.
str λ³μλ₯Ό β0βμΌλ‘ μ΄κΈ°νν©λλ€. μ΄ λ³μλ μ«μλ₯Ό λ¬Έμμ΄λ‘ λ³ννμ¬ μ μ₯νλ μ©λλ‘ μ¬μ©λ©λλ€.
ch λ³μλ₯Ό β0βμΌλ‘ μ΄κΈ°νν©λλ€. μ΄ λ³μλ λ¬Έμμ΄μμ ν λ¬Έμμ© νμΈνκΈ° μν΄ μ¬μ©λ©λλ€.
a λ³μλ₯Ό iλΆν° jκΉμ§ μ¦κ°μν€λ©΄μ λ°λ³΅λ¬Έμ μ€νν©λλ€.
a κ°μ λ¬Έμμ΄λ‘ λ³ννμ¬ str λ³μμ μ μ₯ν©λλ€.
b λ³μλ₯Ό 0λΆν° strμ κΈΈμ΄-1κΉμ§ μ¦κ°μν€λ©΄μ λ°λ³΅λ¬Έμ μ€νν©λλ€.
strμ bλ²μ§Έ λ¬Έμ(ch)λ₯Ό νμΈν©λλ€.
chκ° kμ κ°λ€λ©΄, answer λ³μλ₯Ό 1 μ¦κ°μν΅λλ€.
λ°λ³΅λ¬Έμ΄ μ’ λ£λλ©΄ answer λ³μλ₯Ό λ°νν©λλ€.
ν΄λΉ μ½λλ μ λ ₯λ°μ λ²μ λ΄μμ κ° μ«μλ₯Ό λ¬Έμμ΄λ‘ λ³ννκ³ , λ¬Έμμ΄μ κ° λ¬Έμλ₯Ό νλμ© νμΈνμ¬ kμ λΉκ΅νλ λ°©μμΌλ‘ ꡬνλμ΄ μμ΅λλ€.