๐Ÿ… ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 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;
}