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

문제 μ„€λͺ…

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

10진법 3x λ§ˆμ„μ—μ„œ μ“°λŠ” 숫자 10진법 3x λ§ˆμ„μ—μ„œ μ“°λŠ” 숫자
1 1 6 8
2 2 7 10
3 4 8 11
4 5 9 14
5 7 10 16

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


μ œν•œμ‚¬ν•­

  • 1 ≀ n ≀ 100

μž…μΆœλ ₯ 예

n result
15 25
40 76
  • 예제 #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;
}