9 min read

Level 1 ์—ฐ์Šต๋ฌธ์ œ (1) - ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต

Table of Contents

Last Update: 2019-12-17

  1. Level 1 ์—ฐ์Šต๋ฌธ์ œ (1)
  2. Level 1 ์—ฐ์Šต๋ฌธ์ œ (2) ๋ฐ”๋กœ๊ฐ€๊ธฐ
  3. Level 1 ์—ฐ์Šต๋ฌธ์ œ (3) ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ Level1 ๋ฌธ์ œ๋“ค์ค‘ ์—ฐ์Šต๋ฌธ์ œ๋ผ๋Š” ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋ฌธ์ œ๋“ค์€ ๋‹ค๋ฅธ ๋ฌธ์ œ๋“ค์— ๋น„ํ•ด ์‰ฌ์šด ํŽธ์ด๋‹ˆ ์—ฌ๋Ÿฌ ๊ธ€์„ ๋‚˜๋ˆ  ์“ฐ์ง€ ์•Š๊ณ  ์ด๋ฒˆ ๊ธ€์— ์ญ‰ ์ ์–ด ๋ณผ ์ƒ๊ฐ์ด๋‹ค. ๋ชป ํ‘ผ๊ฑด ๋ฌผ๋ก  ์•ˆ์ ์Œ.

2016๋…„

๋ฌธ์ œ ๋ณด๊ธฐ

2016๋…„ 1์›” 1์ผ์€ ๊ธˆ์š”์ผ์ž…๋‹ˆ๋‹ค. 2016๋…„ a์›” b์ผ์€ ๋ฌด์Šจ ์š”์ผ์ผ๊นŒ์š”? ๋‘ ์ˆ˜ a ,b๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ 2016๋…„ a์›” b์ผ์ด ๋ฌด์Šจ ์š”์ผ์ธ์ง€ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์š”์ผ์˜ ์ด๋ฆ„์€ ์ผ์š”์ผ๋ถ€ํ„ฐ ํ† ์š”์ผ๊นŒ์ง€ ๊ฐ๊ฐ SUN, MON, TUE, WED, THU, FRI, SAT

์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด a=5, b=24๋ผ๋ฉด 5์›” 24์ผ์€ ํ™”์š”์ผ์ด๋ฏ€๋กœ ๋ฌธ์ž์—ด โ€œTUEโ€๋ฅผ ๋ฐ˜ํ™˜ํ•˜์„ธ์š”.

์ œํ•œ ์กฐ๊ฑด

  • 2016๋…„์€ ์œค๋…„์ž…๋‹ˆ๋‹ค.
  • 2016๋…„ a์›” b์ผ์€ ์‹ค์ œ๋กœ ์žˆ๋Š” ๋‚ ์ž…๋‹ˆ๋‹ค. (13์›” 26์ผ์ด๋‚˜ 2์›” 45์ผ๊ฐ™์€ ๋‚ ์งœ๋Š” ์ฃผ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค)

์ž…์ถœ๋ ฅ ์˜ˆ

abresult
524TUE

ํ’€์ด

function solution(a, b) {
  var answer = "";
  var days = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];

  answer = days[new Date(2016, a - 1, b).getDay()];

  return answer;
}

์ œํ•œ ์กฐ๊ฑด์— ์œค๋…„์ด๋ผ๋Š” ์กฐ๊ฑด๋•Œ๋ฌธ์— ํ˜ผ๋ž€์Šค๋Ÿฌ์šธ ๋ป” ํ–ˆ์œผ๋‚˜, ๊ทธ๋ƒฅ ๊ตฌํ•˜๋ฉด ๋จ.


๊ฐ€์šด๋ฐ ๊ธ€์ž ๊ฐ€์ ธ์˜ค๊ธฐ

๋ฌธ์ œ ๋ณด๊ธฐ

๋‹จ์–ด s์˜ ๊ฐ€์šด๋ฐ ๊ธ€์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”. ๋‹จ์–ด์˜ ๊ธธ์ด๊ฐ€ ์ง์ˆ˜๋ผ๋ฉด ๊ฐ€์šด๋ฐ ๋‘๊ธ€์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ œํ•œ์‚ฌํ•ญ

  • s๋Š” ๊ธธ์ด๊ฐ€ 1 ์ด์ƒ, 100์ดํ•˜์ธ ์ŠคํŠธ๋ง์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

sreturn
abcdec
qwerwe

ํ’€์ด

function solution(s) {
  var answer = "";
  var length = s.length;

  answer = s.substr(Math.ceil(length / 2) - 1, length % 2 === 0 ? 2 : 1);

  return answer;
}

๊ฐ™์€ ์ˆซ์ž๋Š” ์‹ซ์–ด

๋ฌธ์ œ ๋ณด๊ธฐ

๋ฐฐ์—ด arr๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋ฐฐ์—ด arr์˜ ๊ฐ ์›์†Œ๋Š” ์ˆซ์ž 0๋ถ€ํ„ฐ 9๊นŒ์ง€๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ๋ฐฐ์—ด arr์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž๋Š” ํ•˜๋‚˜๋งŒ ๋‚จ๊ธฐ๊ณ  ์ „๋ถ€ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ์ œ๊ฑฐ๋œ ํ›„ ๋‚จ์€ ์ˆ˜๋“ค์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ๋Š” ๋ฐฐ์—ด arr์˜ ์›์†Œ๋“ค์˜ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด,

  • arr = [1, 1, 3, 3, 0, 1, 1] ์ด๋ฉด [1, 3, 0, 1] ์„ return ํ•ฉ๋‹ˆ๋‹ค.
  • arr = [4, 4, 4, 3, 3] ์ด๋ฉด [4, 3] ์„ return ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐ์—ด arr์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž๋Š” ์ œ๊ฑฐํ•˜๊ณ  ๋‚จ์€ ์ˆ˜๋“ค์„ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ

  • ๋ฐฐ์—ด arr์˜ ํฌ๊ธฐ : 1,000,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜
  • ๋ฐฐ์—ด arr์˜ ์›์†Œ์˜ ํฌ๊ธฐ : 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ  9๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜

์ž…์ถœ๋ ฅ ์˜ˆ

arranswer
[1,1,3,3,0,1,1][1,3,0,1]
[4,4,4,3,3][4,3]

ํ’€์ด

function solution(arr) {
  var answer = arr.filter((item, index) => {
    return item !== arr[index + 1];
  });

  return answer;
}

์—ฐ์†๋œ ์ˆซ์ž๋งŒ ์ œ๊ฑฐํ•˜๋ฉด ๋˜๋ฏ€๋กœ, ๋‹ค์Œ ์š”์†Œ๋งŒ ๋น„๊ตํ•ด๋‚˜๊ฐ€๋ฉด ๋จ


๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž ๋ฐฐ์—ด

๋ฌธ์ œ ๋ณด๊ธฐ

array์˜ ๊ฐ element ์ค‘ divisor๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ๊ฐ’์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
divisor๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” element๊ฐ€ ํ•˜๋‚˜๋„ ์—†๋‹ค๋ฉด ๋ฐฐ์—ด์— -1์„ ๋‹ด์•„ ๋ฐ˜ํ™˜ํ•˜์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ

  • arr์€ ์ž์—ฐ์ˆ˜๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.
  • ์ •์ˆ˜ i, j์— ๋Œ€ํ•ด i โ‰  j ์ด๋ฉด arr[i] โ‰  arr[j] ์ž…๋‹ˆ๋‹ค.
  • divisor๋Š” ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • array๋Š” ๊ธธ์ด 1 ์ด์ƒ์ธ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

arrdivisorreturn
[5, 9, 7, 10]5[5, 10]
[2, 36, 1, 3]1[1, 2, 3, 36]
[3, 2, 6]10[-1]

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

  • ์ž…์ถœ๋ ฅ ์˜ˆ#1
    arr์˜ ์›์†Œ ์ค‘ 5๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์›์†Œ๋Š” 5์™€ 10์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ [5, 10]์„ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.
  • ์ž…์ถœ๋ ฅ ์˜ˆ#2
    arr์˜ ๋ชจ๋“  ์›์†Œ๋Š” 1์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง‘๋‹ˆ๋‹ค. ์›์†Œ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด [1, 2, 3, 36]์„ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.
  • ์ž…์ถœ๋ ฅ ์˜ˆ#3
    3, 2, 6์€ 10์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์›์†Œ๊ฐ€ ์—†์œผ๋ฏ€๋กœ [-1]์„ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.

ํ’€์ด

function solution(arr, divisor) {
  var divisorArray = arr.filter((item) => item % divisor === 0);

  if (divisorArray.length > 0) {
    return divisorArray.sort((a, b) => a - b);
  }

  return [-1];
}

์ˆซ์ž์ •๋ ฌ์ด ํฌ๊ธฐ๋Œ€๋กœ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ๋งŒ ์œ ์˜ํ•˜๋ฉด ์–ด๋ ต์ง€ ์•Š๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์Œ.


๋‘ ์ •์ˆ˜ ์‚ฌ์ด์˜ ํ•ฉ

๋ฌธ์ œ ๋ณด๊ธฐ

๋‘ ์ •์ˆ˜ a, b๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ a์™€ b ์‚ฌ์ด์— ์†ํ•œ ๋ชจ๋“  ์ •์ˆ˜์˜ ํ•ฉ์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด a = 3, b = 5์ธ ๊ฒฝ์šฐ, 3 + 4 + 5 = 12์ด๋ฏ€๋กœ 12๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.

์ œํ•œ์‚ฌํ•ญ

  • a์™€ b๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋‘˜ ์ค‘ ์•„๋ฌด ์ˆ˜๋‚˜ ๋ฆฌํ„ดํ•˜์„ธ์š”.
  • a์™€ b๋Š” -10,000,000 ์ด์ƒ 10,000,000 ์ดํ•˜์ธ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.
  • a์™€ b์˜ ๋Œ€์†Œ๊ด€๊ณ„๋Š” ์ •ํ•ด์ ธ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

abreturn
3512
333
5312

ํ’€์ด

function solution(a, b) {
  var start = a > b ? b : a;
  var end = a > b ? a : b;

  return ((start + end) * (end - start + 1)) / 2;
}

์ฒ˜์Œ์—๋Š” reduce ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ๋ฐ˜๋ณตํ•˜๋ ค ํ–ˆ์œผ๋‚˜, ์ œํ•œ์กฐ๊ฑด์„ ๋ณด๋ฉด -์ฒœ๋งŒ ~ ์ฒœ๋งŒ ๊นŒ์ง€์˜ ํฐ ์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ต‰์žฅํžˆ ๋น„ํšจ์œจ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉฐ ๋ชปํ’€๊ณ  ์žˆ์—ˆ๋‹ค. ์ฐพ์•„๋ณด๋‹ˆ ๊ฐ€์šฐ์Šค๊ฐ€ ๋“ฑ์ฐจ์ˆ˜์—ด์˜ ํ•ฉ์„ ๊ตฌํ•œ ์‹์ด ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๋‘ ์ˆ˜์˜ ํ•ฉ๊ณผ ๋‘์ˆ˜์˜ ์ฐจ + 1 ์„ ๊ณฑํ•œ ๋’ค 2๋กœ ๋‚˜๋ˆ„๋ฉด ๋œ๋‹ค๊ณ  ํ•œ๋‹ค.


๋ฌธ์ž์—ด ๋‚ด p์™€ y์˜ ๊ฐœ์ˆ˜

๋ฌธ์ œ ๋ณด๊ธฐ

๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๊ฐ€ ์„ž์—ฌ์žˆ๋Š” ๋ฌธ์ž์—ด s๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. s์— โ€˜pโ€™์˜ ๊ฐœ์ˆ˜์™€ โ€˜yโ€™์˜ ๊ฐœ์ˆ˜๋ฅผ ๋น„๊ตํ•ด ๊ฐ™์œผ๋ฉด True, ๋‹ค๋ฅด๋ฉด False๋ฅผ return ํ•˜๋Š” solution๋ฅผ ์™„์„ฑํ•˜์„ธ์š”. โ€˜pโ€™, โ€˜yโ€™ ๋ชจ๋‘ ํ•˜๋‚˜๋„ ์—†๋Š” ๊ฒฝ์šฐ๋Š” ํ•ญ์ƒ True๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ๊ฐœ์ˆ˜๋ฅผ ๋น„๊ตํ•  ๋•Œ ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋Š” ๊ตฌ๋ณ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด s๊ฐ€ pPoooyY๋ฉด true๋ฅผ returnํ•˜๊ณ  Pyy๋ผ๋ฉด false๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

์ œํ•œ์‚ฌํ•ญ

  • ๋ฌธ์ž์—ด s์˜ ๊ธธ์ด : 50 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜
  • ๋ฌธ์ž์—ด s๋Š” ์•ŒํŒŒ๋ฒณ์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

sanswer
pPoooyYtrue
Pyyfalse

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

  • ์ž…์ถœ๋ ฅ ์˜ˆ #1
    โ€™pโ€™์˜ ๊ฐœ์ˆ˜ 2๊ฐœ, โ€˜yโ€™์˜ ๊ฐœ์ˆ˜ 2๊ฐœ๋กœ ๊ฐ™์œผ๋ฏ€๋กœ true๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.
  • ์ž…์ถœ๋ ฅ ์˜ˆ #2
    โ€™pโ€™์˜ ๊ฐœ์ˆ˜ 1๊ฐœ, โ€˜yโ€™์˜ ๊ฐœ์ˆ˜ 2๊ฐœ๋กœ ๋‹ค๋ฅด๋ฏ€๋กœ false๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.

ํ’€์ด

function solution(s) {
  var stringArr = s.split("");
  var p = stringArr.filter((item) => ["p", "P"].includes(item));
  var y = stringArr.filter((item) => ["y", "Y"].includes(item));

  return p.length === y.length;
}

์ฒ˜์Œ์—” ์œ„์ฒ˜๋Ÿผ ํ’€์—ˆ์œผ๋‚˜, ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ๋ณด๋‹ˆ ํ›จ์”ฌ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์–ด ๊ทธ ๋‹ต๋ณ€๋„ ์ ๋Š”๋‹ค. ์ •๊ทœ์‹์€ ํ™•์‹คํžˆ ์•Œ์•„๋‘˜์ˆ˜๋ก ๊ฐœ๋ฐœํ•  ๋•Œ ๋„์›€์ด ๋งŽ์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

function solution(s) {
  var p = s.match(/p/gi) || [];
  var y = s.match(/y/gi) || [];

  return p.length === y.length;
}

match ํ•จ์ˆ˜๋Š” ๊ฐ’์ด ์—†์„๊ฒฝ์šฐ null์„ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋นˆ ๋ฐฐ์—ด์„ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ถ”๊ฐ€ํ•ด๋‘์—ˆ์Œ.


๋ฌธ์ž์—ด ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐ

๋ฌธ์ œ ๋ณด๊ธฐ

๋ฌธ์ž์—ด s์— ๋‚˜ํƒ€๋‚˜๋Š” ๋ฌธ์ž๋ฅผ ํฐ๊ฒƒ๋ถ€ํ„ฐ ์ž‘์€ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.
s๋Š” ์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋Œ€๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋ณด๋‹ค ์ž‘์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค.

์ œํ•œ์‚ฌํ•ญ

  • str์€ ๊ธธ์ด 1 ์ด์ƒ์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

sreturn
ZbcdefggfedcbZ

ํ’€์ด

function solution(s) {
  return s.split("").sort().reverse().join("");
}

๋ฌธ์ž sort์‹œ์—๋Š” ๋Œ€๋ฌธ์ž -> ์†Œ๋ฌธ์ž์ˆœ์˜ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์ด๋‹ˆ ์ด๋ฅผ ๋’ค์ง‘์–ด์ฃผ๋ฉด ๋˜๊ฒ ๋‹ค.


๋ฌธ์ž์—ด ๋‹ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ

๋ฌธ์ œ ๋ณด๊ธฐ

๋ฌธ์ž์—ด s์˜ ๊ธธ์ด๊ฐ€ 4 ํ˜น์€ 6์ด๊ณ , ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋ผ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด s๊ฐ€ a234์ด๋ฉด False๋ฅผ ๋ฆฌํ„ดํ•˜๊ณ  1234๋ผ๋ฉด True๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ œํ•œ์‚ฌํ•ญ

  • s๋Š” ๊ธธ์ด 1 ์ด์ƒ, ๊ธธ์ด 8 ์ดํ•˜์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

sreturn
โ€a234โ€false
โ€1234โ€true

ํ’€์ด

function solution(s) {
  return [4, 6].includes((parseInt(s) + "").length);
}

์œ„์ฒ˜๋Ÿผ ํ’€๋ฉด, ๋ฌธ์ž๊ฐ€ ๊ปด์žˆ๋Š” ๊ฒฝ์šฐ paserInt์‹œ์— NaN์ด ๋‚˜์˜ฌ๊ฒƒ์ด๊ณ  NaN์€ ๋ฌธ์ž์—ด๋กœ ์น˜ํ™˜ํ•˜๊ณ  ๊ธธ์ด๋ฅผ ๊ตฌํ•ด๋„ 3์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๋Š” ํ•ด๊ฒฐ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์กฐ๊ธˆ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋ ค๋ฉด parseInt ์ „์— isNaN ํ•จ์ˆ˜๋‚˜ ์ •๊ทœ์‹์„ ์ด์šฉํ•ด ์ˆซ์ž์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ์ฒดํฌํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๊ฒ ๋‹ค.


์„œ์šธ์—์„œ ๊น€์„œ๋ฐฉ ์ฐพ๊ธฐ

๋ฌธ์ œ ๋ณด๊ธฐ

Stringํ˜• ๋ฐฐ์—ด seoul์˜ element์ค‘ Kim์˜ ์œ„์น˜ x๋ฅผ ์ฐพ์•„, ๊น€์„œ๋ฐฉ์€ x์— ์žˆ๋‹ค๋Š” String์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. seoul์— Kim์€ ์˜ค์ง ํ•œ ๋ฒˆ๋งŒ ๋‚˜ํƒ€๋‚˜๋ฉฐ ์ž˜๋ชป๋œ ๊ฐ’์ด ์ž…๋ ฅ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์ œํ•œ์‚ฌํ•ญ

  • seoul์€ ๊ธธ์ด 1 ์ด์ƒ, 1000 ์ดํ•˜์ธ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.
  • seoul์˜ ์›์†Œ๋Š” ๊ธธ์ด 1 ์ด์ƒ, 20 ์ดํ•˜์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.
  • Kim์€ ๋ฐ˜๋“œ์‹œ seoul ์•ˆ์— ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

seoulreturn
[โ€œJaneโ€, โ€œKimโ€]โ€œ๊น€์„œ๋ฐฉ์€ 1์— ์žˆ๋‹คโ€

ํ’€์ด

function solution(seoul) {
  return `๊น€์„œ๋ฐฉ์€ ${seoul.indexOf("Kim")}์— ์žˆ๋‹ค`;
}

์†Œ์ˆ˜์ฐพ๊ธฐ

๋ฌธ์ œ ๋ณด๊ธฐ

1๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž n ์‚ฌ์ด์— ์žˆ๋Š” ์†Œ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”.

์†Œ์ˆ˜๋Š” 1๊ณผ ์ž๊ธฐ ์ž์‹ ์œผ๋กœ๋งŒ ๋‚˜๋ˆ„์–ด์ง€๋Š” ์ˆ˜๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
(1์€ ์†Œ์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.)

์ œํ•œ์‚ฌํ•ญ

  • n์€ 2์ด์ƒ 1000000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

nresult
104
53

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

  • ์ž…์ถœ๋ ฅ ์˜ˆ #1
    1๋ถ€ํ„ฐ 10 ์‚ฌ์ด์˜ ์†Œ์ˆ˜๋Š” [2,3,5,7] 4๊ฐœ๊ฐ€ ์กด์žฌํ•˜๋ฏ€๋กœ 4๋ฅผ ๋ฐ˜ํ™˜
  • ์ž…์ถœ๋ ฅ ์˜ˆ #2
    1๋ถ€ํ„ฐ 5 ์‚ฌ์ด์˜ ์†Œ์ˆ˜๋Š” [2,3,5] 3๊ฐœ๊ฐ€ ์กด์žฌํ•˜๋ฏ€๋กœ 3๋ฅผ ๋ฐ˜ํ™˜

ํ’€์ด

function solution(n) {
  // true์ธ ๊ฐ’์€ ์†Œ์ˆ˜๋ผ๊ณ  ๊ฐ€์ •, 0๋ฒˆ index๋ฅผ ์ •์ˆ˜ 0์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ํ’€๊ธฐ ์œ„ํ•ด n + 1๊ฐœ ๋งŒํผ ๋ฐฐ์—ด ์ƒ์„ฑ
  let arr = Array(n + 1).fill(true);

  // ์ด๋ฏธ ์†Œ์ˆ˜๋ผ๊ณ  ๊ฐ€์ •ํ–ˆ์œผ๋‹ˆ ์ œ๊ณฑ๋ถ€ํ„ฐ ๋กœ์ง์„ ์‹œ์ž‘ํ•จ
  for (let i = 2; i ** 2 <= n; i++) {
    if (arr[i]) {
      // ํ•ด๋‹น ์ˆ˜์˜ ๋ฐฐ์ˆ˜๋Š” ๋ชจ๋‘ ์†Œ์ˆ˜๊ฐ€ ์•„๋‹˜์œผ๋กœ false ์ฒ˜๋ฆฌ
      for (let j = i ** 2; j <= n; j += i) {
        arr[j] = false;
      }
    }
  }

  // 0๊ณผ 1์€ ์ œ์™ธ
  arr = arr.slice(2).filter((item) => item);

  return arr.length;
}

ํ•ด๋‹น ๋ฌธ์ œ๋Š” ๋ฌด์‹ํ•˜๊ฒŒ ์ผ์ผํžˆ ๊ณ„์‚ฐํ•˜์—ฌ ํ’€๋ ค๊ณ  ํ–ˆ์œผ๋‚˜ ํ…Œ์ŠคํŠธ๋Š” ํ†ต๊ณผํ•ด๋„ ์ฑ„์ ์—์„œ ์‹คํŒจ๊ฐ€ ๋๋‹ค. ์ผ์ผํžˆ ๊ณ„์‚ฐ์„ ํ•˜๋‹ค๋ณด๋‹ˆ ์ž์—ฐ์Šค๋ ˆ ์„ฑ๋Šฅ๋ถ€๋ถ„์—์„œ ํƒˆ๋ฝ์ด ๋๋Š”๋ฐ, ์ธํ„ฐ๋„ท์„ ์ฐพ์•„๋ณด๋‹ˆ ์†Œ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ์‹ ์ค‘์—์„œ ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋ผ๋Š” ์‹์„ ๋ฐœ๊ฒฌํ–ˆ๊ณ , ๊ทธ ์‹์„ ์ ์šฉํ•˜๊ณ  ํ’€ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋Š” ์ž๊ธฐ ์ž์‹ ์„ ์ œ์™ธํ•œ ๋ฐฐ์ˆ˜์˜ ๊ฐ’์„ ์ œ์™ธํ•ด ๋‚˜๊ฐ„๋‹ค๋Š” ์ ์ด ํ•ต์‹ฌ์ด๋‹ค.

level 1 ๋ฌธ์ œ๋“ค ์ค‘์—์„  ๊ฐ€์žฅ ์–ด๋ ค์šด ํŽธ์— ์†ํ•˜์ง€ ์•Š์•˜๋‚˜์‹ถ๋‹ค.

์ฐธ๊ณ