๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿบ ๋งค์ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์†Œ์ˆ˜ ์ฐพ๊ธฐ level 2 ๋งˆ์Œ์„ ๊ธ‰ํ•˜๊ฒŒ ๋จน์œผ๋‹ˆ ์ฒ˜์Œ ์‹œ๋„์—์„œ๋Š” ์ž˜ ํ’€๋ฆฌ์ง€ ์•Š์•˜๋‹ค. ์ฐจ๋ถ„ํ•˜๊ฒŒ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํŠธ๋ฆฌ ํ˜•ํƒœ๋กœ ๊ทธ๋ ค ๋ณธ ๊ฒƒ์ด ๋ฌธ์ œํ’€์ด์— ๋„์›€์ด ๋๋‹ค. ๋ฌธ์ œ ํ•œ์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ์ ํžŒ ์ข…์ด ์กฐ๊ฐ์ด ์žˆ๋‹ค. ์ด๋ฅผ ๋ถ™์—ฌ ์†Œ์ˆ˜๋ฅผ ๋ช‡๊ฐœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ๋ฐ˜ํ™˜ํ•˜๋ผ. ์ž…๋ ฅ๊ฐ’ numbers: 0-9์‚ฌ์ด์˜ ์ˆซ์ž๋กœ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด. 0 < numbers.length i+2)) for (let x = 2; x * x { for (let i = 0; i < numbers.length; i++) { if (!seen.has(i)) { const x = prefix + numbers[i] if (primes.has(x*1)) { ans.add(x*1) } seen.add(i) generate(x, seen) seen.delete(i) } } } generate.. ๋”๋ณด๊ธฐ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ Kit ์Šคํƒ/ํ ๋ฌธ์ œํ’€์ด ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ kit ์Šคํƒ/ํ๋กœ ๋ถ„๋ฅ˜๋˜์–ด ์žˆ๋Š” ํƒ‘, ๋‹ค๋ฆฌ๋ฅผ ์ง€๋‚˜๋Š” ํŠธ๋Ÿญ, ๊ธฐ๋Šฅ๊ฐœ๋ฐœ, ํ”„๋ฆฐํ„ฐ, ์‡ ๋ง‰๋Œ€๊ธฐ, ์ฃผ์‹๊ฐ€๊ฒฉ ๋ฌธ์ œํ’€์ด. 1.ํƒ‘ function solution(heights) { const answer = [0]; for (let i = 1; i < heights.length; i++) { for (let j = i - 1; 0 heights[i]) { answer.push(j + 1) break } } if (answer.length === i) { answer.push(0) } } return answer; } 2.๋‹ค๋ฆฌ๋ฅผ ์ง€๋‚˜๋Š” ํŠธ๋Ÿญ function solution(bridgeLength, weight, truckWeights) { truckWeights.reverse() const on.. ๋”๋ณด๊ธฐ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ Kit ํ•ด์‹œ ๋ฌธ์ œํ’€์ด ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ kit์— ํ•ด์‹œ๋กœ ๋ถ„๋ฅ˜๋˜์–ด ์žˆ๋Š” ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜, ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก, ์œ„์žฅ, ๋ฒ ์ŠคํŠธ์•จ๋ฒ” ๋ฌธ์ œํ’€์ด. 1. ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜ ์ž…๋ ฅ๊ฐ’ participant: ๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•œ ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด. completion: ๋งˆ๋ผํ†ค์„ ์™„์ฃผํ•œ ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด. ์ถœ๋ ฅ๊ฐ’ ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜์˜ ์ด๋ฆ„์„ ๋ฐ˜ํ™˜ํ•˜๋ผ. ์ œํ•œ์‚ฌํ•ญ 1 { if (plays[a] === plays[b]) { return a plays[b] ? 1 : -1 }) result.push(ids.get(key).pop() * 1) if (ids.get(key).length) { result.push(ids.get(key).pop() * 1) } } return r.. ๋”๋ณด๊ธฐ
Google Code Jam 2020 Qualification Round ํ›„๊ธฐ ์ง€๋‚œ ์ผ์š”์ผ์— 27์‹œ๊ฐ„๋™์•ˆ ๊ตฌ๊ธ€์ฝ”๋“œ์žผ 2020 Qualification Round๊ฐ€ ์žˆ์—ˆ๊ณ  ํ†ต๊ณผํ–ˆ๋‹ค. ์ ์ˆ˜์ฒด๊ณ„๋„ ๋ชจ๋ฅด๊ณ  ์ฐธ๊ฐ€ํ•˜๋ฉด ๋‹ค ํ†ต๊ณผํ•˜๋Š” ์—ฐ์Šต๋ผ์šด๋“œ์ด๊ฑฐ๋‹ˆํ•˜๊ณ  ์ฐธ๊ฐ€ํ–ˆ์—ˆ๋Š”๋ฐ Qualification Round์—์„œ ์ด 30์  ์ด์ƒ ๋ฐ›์•„์•ผํ•œ๋‹ค๋Š” ๊ทœ์น™์ด ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜๋„ 5๋ฌธ์ œ ์ค‘ ํ’€๋งŒํ•œ ๋‚œ์ด๋„์˜ ๋ฌธ์ œ 3๊ฐœ๋งŒ ํ’€๋ฉด ํ†ต๊ณผ ๊ฐ€๋Šฅํ•œ ์ ์ˆ˜๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ  ์‹œ๊ฐ„์ œํ•œ๋„ ๋„‰๋„‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ถฉ๋ถ„ํžˆ ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜๊ณ  ์ฐธ๊ฐ€ํ–ˆ๋‹ค๋ฉด ๊ฑฐ์ง„ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ์—ˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. Qualification Round์—์„œ ํ‘ผ ๋ฌธ์ œ๋“ค์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค. 1. Vestigium ๊ฐ ํ–‰๊ณผ ์—ด์— ์ค‘๋ณต๋œ ์ˆซ์ž์—†์ด 1~N์‚ฌ์ด์˜ ์›์†Œ๊ฐ€ ํ•œ๋ฒˆ์”ฉ ๋“ฑ์žฅํ•˜๋Š” N x N ์ •์‚ฌ๊ฐํ˜•์„ Latin Square๋ผ๊ณ  ํ•œ๋‹ค. ์ฃผ์–ด์ง„ ์ •์‚ฌ๊ฐํ˜•์ด Latin Square๊ฐ€ ๋งž๋Š”์ง€ ํ™•์ธ.. ๋”๋ณด๊ธฐ
2018 ์นด์นด์˜ค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ 1์ฐจ ํ”„๋ Œ์ฆˆ4๋ธ”๋ก JS ๋ฌธ์ œํ’€์ด ๐Ÿ”—์ง์ ‘ ๋ฌธ์ œ ํ’€๋Ÿฌ๊ฐ€๊ธฐ ๋ฌธ์ œ ์ง€์›Œ์ง€๋Š” ๋ธ”๋ก์€ ๋ช‡๊ฐœ์ธ๊ฐ€? 2 x 2 ํ˜•ํƒœ๋กœ ๊ฐ™์€ ์บ๋ฆญํ„ฐ๊ฐ€ ๋ถ™์–ด์žˆ์œผ๋ฉด ์‚ฌ๋ผ์ง€๋ฉด์„œ ์ ์ˆ˜๋ฅผ ์–ป๋Š”๋‹ค. ํ•œ ๋ธ”๋ก์€ ์—ฌ๋Ÿฌ๊ฐœ์˜ 2 x 2 ์— ํฌํ•จ๋  ์ˆ˜ ์žˆ๋‹ค. ๋ธ”๋ก์ด ์ง€์›Œ์ง„ ๋’ค์—๋Š” ์œ„์—์„œ ์•„๋ž˜๋กœ ๋ธ”๋ก๋“ค์ด ์Ÿ์•„์ง„๋‹ค. ๋ผ์ด์–ธ(R), ๋ฌด์ง€(M), ์–ดํ”ผ์น˜(A), ํ”„๋กœ๋„(F), ๋„ค์˜ค(N), ํŠœ๋ธŒ(T), ์ œ์ด์ง€(J), ์ฝ˜(C) ๋ฌธ์ œํ’€์ด function solution(m, n, board) { board = board.map(line => line.split('')); let pang = new Set(); while (true) { for (let i = 0; i + 1 < m; i++) { for (let j = 0; j + 1 < n; j++) { if (!board[i][j]) { conti.. ๋”๋ณด๊ธฐ
2018 ์นด์นด์˜ค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ 1์ฐจ ๋‰ด์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ง JS ๋ฌธ์ œํ’€์ด ๐Ÿ”—์ง์ ‘ ๋ฌธ์ œ ํ’€๋Ÿฌ๊ฐ€๊ธฐ ๋ฌธ์ œ ๋‘ ๋ฌธ์ž์—ด์„ ์ž์นด๋“œ ์œ ์‚ฌ๋„๋ฅผ ๊ตฌํ•˜๋ผ. J(A,B) = ๋‘ ์ง‘ํ•ฉ์˜ ๊ต์ง‘ํ•ฉ ํฌ๊ธฐ๋ฅผ ๋‘ ์ง‘ํ•ฉ์˜ ํ•ฉ์ง‘ํ•ฉ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆˆ ๊ฐ’. ๋‘ ์ง‘ํ•ฉ์ด ๊ณต์ง‘ํ•ฉ์ผ ๊ฒฝ์šฐ ๋‚˜๋ˆ—์…ˆ ์ •์˜๊ฐ€ ์•ˆ๋˜๋ฏ€๋กœ J(A,B) = 1 ์„ ๋”ฐ๋กœ ์ •์˜ํ•˜๋ผ. ์ž…๋ ฅ๊ฐ’ 2 < str1, str2 ๋”๋ณด๊ธฐ
2018 ์นด์นด์˜ค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ 1์ฐจ ์…”ํ‹€๋ฒ„์Šค JS ๋ฌธ์ œํ’€์ด ๐Ÿ”—์ง์ ‘ ๋ฌธ์ œ ํ’€๋Ÿฌ๊ฐ€๊ธฐ ๋ฌธ์ œ ์ฝ˜์ด ์…”ํ‹€์„ ํƒ€๊ณ  ์‚ฌ๋ฌด์‹ค๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ •๋ฅ˜์žฅ ๋„์ฐฉ ์‹œ๊ฐ ์ค‘ ์ œ์ผ ๋Šฆ์€ ์‹œ๊ฐ์„ ๊ตฌํ•˜์—ฌ๋ผ ์…”ํ‹€์€ 09:00๋ถ€ํ„ฐ ์ด nํšŒ t๋ถ„ ๊ฐ„๊ฒฉ์œผ๋กœ ์—ญ์— ๋„์ฐฉํ•˜๋ฉฐ, ํ•˜๋‚˜์˜ ์…”ํ‹€์—๋Š” ์ตœ๋Œ€ m๋ช…์˜ ์Šน๊ฐ์ด ํƒˆ ์ˆ˜ ์žˆ๋‹ค. ์…”ํ‹€์€ ๋„์ฐฉํ–ˆ์„ ๋•Œ ๋„์ฐฉํ•œ ์ˆœ๊ฐ„์— ๋Œ€๊ธฐ์—ด์— ์„  ํฌ๋ฃจ๊นŒ์ง€ ํฌํ•จํ•ด์„œ ๋Œ€๊ธฐ ์ˆœ์„œ๋Œ€๋กœ ํƒœ์šฐ๊ณ  ๋ฐ”๋กœ ์ถœ๋ฐœํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 09:00์— ๋„์ฐฉํ•œ ์…”ํ‹€์€ ์ž๋ฆฌ๊ฐ€ ์žˆ๋‹ค๋ฉด 09:00์— ์ค„์„ ์„  ํฌ๋ฃจ๋„ ํƒˆ ์ˆ˜ ์žˆ๋‹ค. ๋ชจ๋“  ํฌ๋ฃจ๋Š” ์ž ์„ ์ž์•ผ ํ•˜๋ฏ€๋กœ 23:59์—๋Š” ์ง‘์— ๋Œ์•„๊ฐ„๋‹ค. ์ฝ˜์€ ๊ฒŒ์œผ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ™์€ ์‹œ๊ฐ์— ๋„์ฐฉํ•œ ํฌ๋ฃจ ์ค‘ ๋Œ€๊ธฐ์—ด์—์„œ ์ œ์ผ ๋’ค์— ์„ ๋‹ค. ์ž…๋ ฅ๊ฐ’ ์…”ํ‹€ ์šดํ–‰ ํšŸ์ˆ˜ n, ์…”ํ‹€ ์šดํ–‰ ๊ฐ„๊ฒฉ t, ํ•œ ์…”ํ‹€์— ํƒˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ํฌ๋ฃจ ์ˆ˜ m, ํฌ๋ฃจ๊ฐ€ ๋Œ€๊ธฐ์—ด์— ๋„์ฐฉํ•˜๋Š” ์‹œ๊ฐ์„ ๋ชจ์€ ๋ฐฐ์—ด timetabl.. ๋”๋ณด๊ธฐ
2018 ์นด์นด์˜ค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ 1์ฐจ ๋‹คํŠธ ๊ฒŒ์ž„ JS ๋ฌธ์ œํ’€์ด ๐Ÿ”—์ง์ ‘ ๋ฌธ์ œ ํ’€๋Ÿฌ๊ฐ€๊ธฐ ๋ฌธ์ œ ๋‹คํŠธ ๊ฒŒ์ž„์€ ์ด 3๋ฒˆ์˜ ๊ธฐํšŒ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๊ฐ ๊ธฐํšŒ๋งˆ๋‹ค ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜๋Š” 0 - 10์ . ์ ์ˆ˜์™€ ํ•จ๊ป˜ Single(S), Double(D), Triple(T) ์˜์—ญ์ด ์กด์žฌํ•œ๋‹ค. ๊ฐ ์˜์—ญ ๋‹น์ฒจ ์‹œ ์ ์ˆ˜์—์„œ 1์ œ๊ณฑ, 2์ œ๊ณฑ, 3์ œ๊ณฑ์œผ๋กœ ๊ณ„์‚ฐ๋œ๋‹ค. ์˜ต์…˜์œผ๋กœ ์Šคํƒ€์ƒ(*) , ์•„์ฐจ์ƒ(#)์ด ์žˆ๋‹ค. ์Šคํƒ€์ƒ(*) ๋‹น์ฒจ ์‹œ ํ•ด๋‹น ์ ์ˆ˜์™€ ๋ฐ”๋กœ ์ „์— ์–ป์€ ์ ์ˆ˜๋ฅผ ๊ฐ 2๋ฐฐ๋กœ ๋งŒ๋“ ๋‹ค. ์•„์ฐจ์ƒ(#) ๋‹น์ฒจ ์‹œ ํ•ด๋‹น ์ ์ˆ˜๋Š” ๋งˆ์ด๋„ˆ์Šค๋œ๋‹ค. ์Šคํƒ€์ƒ(*)์€ ์ฒซ ๋ฒˆ์งธ ๊ธฐํšŒ์—์„œ๋„ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ ์Šคํƒ€์ƒ(*)์˜ ์ ์ˆ˜๋งŒ 2๋ฐฐ๊ฐ€ ๋œ๋‹ค. (์˜ˆ์ œ 4๋ฒˆ) ์Šคํƒ€์ƒ(*)์€ ๋‹ค๋ฅธ ์Šคํƒ€์ƒ(*)์˜ ํšจ๊ณผ์™€ ์ค‘์ฒฉ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ค‘์ฒฉ๋œ ์Šคํƒ€์ƒ(*) ์ ์ˆ˜๋Š” 4๋ฐฐ๊ฐ€ ๋œ๋‹ค. (์˜ˆ์ œ 4๋ฒˆ) ์Šคํƒ€์ƒ(*)์˜ ํšจ๊ณผ๋Š” ์•„์ฐจ์ƒ.. ๋”๋ณด๊ธฐ