Problem Solution/Programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JS] 369 ๊ฒŒ์ž„

yuri lee 2023. 10. 21. 13:32
๋ฐ˜์‘ํ˜•

Problem Description

๋จธ์“ฑ์ด๋Š” ์นœ๊ตฌ๋“ค๊ณผ 369๊ฒŒ์ž„์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 369๊ฒŒ์ž„์€ 1๋ถ€ํ„ฐ ์ˆซ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ๋Œ€๋ฉฐ 3, 6, 9๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ์ˆซ์ž๋Š” ์ˆซ์ž ๋Œ€์‹  3, 6, 9์˜ ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ•์ˆ˜๋ฅผ ์น˜๋Š” ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค. ๋จธ์“ฑ์ด๊ฐ€ ๋งํ•ด์•ผํ•˜๋Š” ์ˆซ์ž order๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋จธ์“ฑ์ด๊ฐ€ ์ณ์•ผํ•  ๋ฐ•์ˆ˜ ํšŸ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

 

Restrictions.

  • 1 ≤ order ≤ 1,000,000

 

Input/Output Example

  • ์ž…์ถœ๋ ฅ ์˜ˆ #1 3์€ 3์ด 1๊ฐœ ์žˆ์œผ๋ฏ€๋กœ 1์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  • ์ž…์ถœ๋ ฅ ์˜ˆ #2  29423์€ 3์ด 1๊ฐœ, 9๊ฐ€ 1๊ฐœ ์žˆ์œผ๋ฏ€๋กœ 2๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

 

My solution

function solution(order) {
  const array = order.toString().split("");
  return array.filter((x) => parseFloat(x) >= 0 && x == '3' || x == '6' || x == '9').length;
}

 

Another solutions

function solution(order) {
    var answer = [...order.toString().matchAll(/[3|6|9]/g)].length;
    return answer;
}

 

function solution(order) {
    return (''+order).split(/[369]/).length-1;
}

 


https://school.programmers.co.kr/learn/courses/30/lessons/120891

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_expressions

 

์ •๊ทœ ํ‘œํ˜„์‹ - JavaScript | MDN

์ •๊ทœ ํ‘œํ˜„์‹, ๋˜๋Š” ์ •๊ทœ์‹์€ ๋ฌธ์ž์—ด์—์„œ ํŠน์ • ๋ฌธ์ž ์กฐํ•ฉ์„ ์ฐพ๊ธฐ ์œ„ํ•œ ํŒจํ„ด์ž…๋‹ˆ๋‹ค. JavaScript์—์„œ๋Š” ์ •๊ทœ ํ‘œํ˜„์‹๋„ ๊ฐ์ฒด๋กœ์„œ, RegExp์˜ exec() (en-US)์™€ test() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. String์˜ match()

developer.mozilla.org

 

๋ฐ˜์‘ํ˜•