ν©ν λ¦¬μΌ (with.Java)
βν©ν 리μΌβ λ¬Έμ μ λνμ¬ μμλ³Έ κΈμ λλ€.
μ½λ© ν μ€νΈ λ¬Έμ λ₯Ό νλ©°, νμλ λ¬Έμ μ λν νκ³ μ λ€λ₯Έ νμ΄ λ°©λ²μ μμ보며, μμκ°κ³ μ ν©λλ€.
λ¬Έμ μ λν΄ λ¨Όμ μμλ³΄κ² μ΅λλ€.
λ¬Έμ
iν©ν λ¦¬μΌ (i!)μ 1λΆν° iκΉμ§ μ μμ κ³±μ μλ―Έν©λλ€. μλ₯Όλ€μ΄ 5! = 5 _ 4 _ 3 _ 2 _ 1 = 120 μ λλ€. μ μ nμ΄ μ£Όμ΄μ§ λ λ€μ 쑰건μ λ§μ‘±νλ κ°μ₯ ν° μ μ iλ₯Ό return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
- i! β€ n
μ νμ¬ν
- 0 < n β€ 3,628,800
μ μΆλ ₯ μμ
n | result |
---|---|
3628800 | 10 |
7 | 3 |
λ¬Έμ μ λν λμ νμ΄
class Solution {
public int solution(int n) {
int answer = 0;
int temp = 1;
for(int i = 2; i <= 10; i++){
for(int j = i; j >= 2; j--){
temp *= j;
}
if(temp == n){
answer = i;
return answer;
} else if(temp > n){
answer = i - 1;
return answer;
} else {
temp = 1;
}
}
return answer;
}
}
νμ΄ μ€λͺ
solution(int n): μ£Όμ΄μ§ μ μ nμ ν©ν 리μΌλ‘ ννν μ μλ μ΅μνμ μ«μ κ°μλ₯Ό λ°νν©λλ€.
for λ¬Έμ μ΄μ©νμ¬ 2λΆν° 10κΉμ§μ μ«μμ λν΄ ν©ν 리μΌμ κ³μ°ν©λλ€.
λ΄λΆ for λ¬Έμ ν΅ν΄ νμ¬ μ«μλΆν° 2κΉμ§μ ν©ν 리μΌμ κ³μ°νκ³ , μ΄λ₯Ό tempμ μ μ₯ν©λλ€.
κ³μ°ν ν©ν 리μΌμ΄ nκ³Ό μΌμΉνλ©΄ ν΄λΉ μ«μλ₯Ό κ²°κ³Όλ‘ λ°νν©λλ€.
ν©ν 리μΌμ΄ nλ³΄λ€ ν¬λ©΄ μ§μ μ«μκ° μ΅μ κ°μμ΄λ―λ‘ κ²°κ³Όλ‘ λ°νν©λλ€.
μ½λ μ₯μ
- κ°λ¨ν ꡬν: λ¬Έμ λ₯Ό ν΄κ²°νλ λ° νμν ꡬνμ΄ κ°λ¨νλ€.
- μ§κ΄μ μΈ λ‘μ§: μ£Όμ΄μ§ 쑰건μ μμ°¨μ μΌλ‘ κ²μ¬νμ¬ μ§κ΄μ μΈ λ‘μ§μ κ°μΆκ³ μλ€.
μ½λ λ¨μ
- νΉμ λ²μμλ§ μ μ© κ°λ₯: νμ¬λ 2λΆν° 10κΉμ§μ μ«μμ λν΄μλ§ ν©ν 리μΌμ κ³μ°νκ³ μμ΄, μ΄ λ²μλ₯Ό λ²μ΄λλ©΄ μ νν κ²°κ³Όλ₯Ό μ»μ μ μλ€.