πŸ… ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ 120871 : μ €μ£Όμ˜ 숫자 3 - Javascript

μ•Œκ³ λ¦¬μ¦˜ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€

문제 μ„€λͺ…

3x λ§ˆμ„ μ‚¬λžŒλ“€μ€ 3을 μ €μ£Όμ˜ 숫자라고 μƒκ°ν•˜κΈ° λ•Œλ¬Έμ— 3의 λ°°μˆ˜μ™€ 숫자 3을 μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 3x λ§ˆμ„ μ‚¬λžŒλ“€μ˜ μˆ«μžλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

10진법3x λ§ˆμ„μ—μ„œ μ“°λŠ” 숫자10진법3x λ§ˆμ„μ—μ„œ μ“°λŠ” 숫자
1168
22710
34811
45914
571016

μ •μˆ˜ n이 λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, n을 3x λ§ˆμ„μ—μ„œ μ‚¬μš©ν•˜λŠ” 숫자둜 λ°”κΏ” returnν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”.


μ œν•œμ‚¬ν•­

  • 1 ≀ n ≀ 100

μž…μΆœλ ₯ 예

nresult
1525
4076
  • 예제 #1
    15λ₯Ό 3x λ§ˆμ„μ˜ 숫자둜 λ³€ν™˜ν•˜λ©΄ 25μž…λ‹ˆλ‹€.

  • 예제 #2
    40을 3x λ§ˆμ„μ˜ 숫자둜 λ³€ν™˜ν•˜λ©΄ 76μž…λ‹ˆλ‹€.


풀이 κ³Όμ •

λ¨Όμ € λ°˜λ³΅λ¬Έμ„ λ§Œλ“€μ–΄ answerλ₯Ό n값이 λ λ•ŒκΉŒμ§€ 1μ”© μ¦κ°€μ‹œν‚΅λ‹ˆλ‹€. 이 λ•Œ, answerκ°€ 3의 λ°°μˆ˜κ±°λ‚˜ 3이 ν¬ν•¨λ˜λŠ” κ²½μš°μ— μΆ”κ°€λ‘œ μ¦κ°€μ‹œμΌœ 3xλ§ˆμ„μ˜ μ €μ£Όλ₯Ό ν”Όν•˜λ„λ‘ μž‘μ„±ν–ˆμŠ΅λ‹ˆλ‹€.

function solution(n) {
  let answer = 0;
 
  //actual은 answer이 μ‹€μ œ μ˜λ―Έν•˜λŠ” κ°’
  //actual이 n이 될 λ•Œ κΉŒμ§€ answerλ₯Ό μ¦κ°€μ‹œμ‹œν‚΄
  for (let actual = 1; actual <= n; ++actual) {
    answer++;
 
    //answer이 3의 λ°°μˆ˜κ±°λ‚˜, 3이 ν¬ν•¨λœ 숫자인 경우 μ•„λ‹ˆκ²Œ λ λ•Œ κΉŒμ§€ μΆ”κ°€λ‘œ μ¦κ°€μ‹œν‚΄
    while (answer % 3 === 0 || `${answer}`.includes('3')) {
      answer++;
    }
  }
  return answer;
}