[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ”„๋กœ์„ธ์Šค JS ํ’€์ด
ยท
๐Ÿ“ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต
1. ๋ฌธ์ œ ์„ค๋ช… ๋ฐ ์ƒ๊ฐํ•œ ํ’€์ด ์šด์˜์ฒด์ œ์˜ ์—ญํ•  ์ค‘ ํ•˜๋‚˜๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ์—์„œ๋Š” ์šด์˜์ฒด์ œ๊ฐ€ ๋‹ค์Œ ๊ทœ์น™์— ๋”ฐ๋ผ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•  ๊ฒฝ์šฐ ํŠน์ • ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ช‡ ๋ฒˆ์งธ๋กœ ์‹คํ–‰๋˜๋Š”์ง€ ์•Œ์•„๋‚ด๋ฉด ๋ฉ๋‹ˆ๋‹ค. 1. ์‹คํ–‰ ๋Œ€๊ธฐ ํ(Queue)์—์„œ ๋Œ€๊ธฐ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ํ•˜๋‚˜๋ฅผ ๊บผ๋ƒ…๋‹ˆ๋‹ค. 2. ํ์— ๋Œ€๊ธฐ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ์ค‘ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋” ๋†’์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ฐฉ๊ธˆ ๊บผ๋‚ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹ค์‹œ ํ์— ๋„ฃ์Šต๋‹ˆ๋‹ค. 3. ๋งŒ์•ฝ ๊ทธ๋Ÿฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์—†๋‹ค๋ฉด ๋ฐฉ๊ธˆ ๊บผ๋‚ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. 3.1 ํ•œ ๋ฒˆ ์‹คํ–‰ํ•œ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์‹œ ํ์— ๋„ฃ์ง€ ์•Š๊ณ  ๊ทธ๋Œ€๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ์ž…๋ ฅ์œผ๋กœ "priorities" ์™€ "location"์ด ์ฃผ์–ด์ง„๋‹ค. priorities๋กœ ์šฐ์„ ์ˆœ์œ„๊ฐ€ value๋กœ ์žˆ๋Š” ํ ๋ฐฐ์—ด์ด ์ฃผ์–ด์ง€๊ณ , locatio..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ•ธ๋“œํฐ ๋ฒˆํ˜ธ ๊ฐ€๋ฆฌ๊ธฐ (JavaScript)
ยท
๐Ÿ“ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต
์ •๋‹ต function solution(phone_number) { let secret = phone_number.substring(0, phone_number.length - 4).replace(/[0-9]/g, "*"); let viewed = phone_number.substring(phone_number.length - 4, phone_number.lenght); return secret + viewed; } ํ’€์ด 1. ๋’ค์— 4์ž๋ฆฌ๋ฅผ ์ œ์™ธํ•˜๊ณ  "*"๋กœ ๋งŒ๋“ค์–ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋’ค 4์นธ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ค€๋‹ค. (substring์ด๋‚˜ slice๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค). 2. ์•ž ๋ถ€๋ถ„์„ *๋กœ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•ด replaceํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋•Œ ์ •๊ทœํ‘œํ˜„์‹์„ ์ด์šฉํ•ด ๋Œ€์น˜ํ•ด์ค€๋‹ค. ์ •๊ทœํ‘œํ˜„์‹๋งŒ์„ ์ด์šฉํ•œ ๋ฐฉ๋ฒ• functi..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์‹คํŒจ์œจ (JavaScript)
ยท
๐Ÿ“ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต
์ •๋‹ต function solution(N, stages) { var answer = []; let fails = []; for (let i = 1; i b.failRate - a.failRate) ์ด์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์ •๋ ฌํ•ด์ค€๋‹ค. 4. ์ •๋ ฌ๋œ fails๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ answer์— ์ˆœ์ฐจ์ ์œผ๋กœ pushํ•œ๋‹ค.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋น„๋ฐ€์ง€๋„(JavaScript)
ยท
๐Ÿ“ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต
์ •๋‹ต function solution(n, arr1, arr2) { var answer = []; let sol = []; for (let i = 0; i < n; i++) { sol[i] = arr1[i] | arr2[i]; sol[i] = sol[i].toString(2); sol[i] = sol[i].padStart(n,0).replace(/[1]/gi, "#"); sol[i] = sol[i].padStart(n,0).replace(/[0]/gi, " "); } answer = sol; return answer; } ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ค„์ด์ง€ ์•Š๊ณ  ๋ช…์‹œ์ ์œผ๋กœ ํ‘œํ˜„ํ•จ ์„ค๋ช… ๋ฒฝ = 1, ๋นˆ์นธ = 0 ์ด๋ผ๊ณ  ๋ฏธ๋ฆฌ ๋ฐ•์•„๋‘๊ณ  ์ƒ๊ฐํ•˜์ž. ์ง€๋„1๊ณผ ์ง€๋„2๋ฅผ ํ•ฉ์น ๋•Œ, ํ•˜๋‚˜๋ผ๋„ ๋ฒฝ์ด ์žˆ์œผ๋ฉด ๋ฒฝ์ด ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ ๋น„..
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž์ฃผ ์“ฐ๋Š” ํ•จ์ˆ˜ ์ •๋ฆฌ(1)
ยท
๐Ÿ“ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต
Array.map() map() ๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด ๋‚ด์˜ ๋ชจ๋“  ์š”์†Œ ๊ฐ๊ฐ์— ๋Œ€ํ•˜์—ฌ ์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์•„, ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์‚ฌ์šฉ ์˜ˆ์‹œ const arr = [1, 4, 9, 16]; const arrMap = arr.map(x => x*2); console.log(arrMap); //output: [2, 8, 18, 32] ๊ตฌ๋ฌธ arr.map(callback(currentValue[, index[, array]])[, thisArg]) Array.reduce() reduce() ๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด ์ฃผ์–ด์ง„ ๋ฆฌ๋“€์„œ (reducer) ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์˜ˆ์‹œ const arr = [1, 2, 3, 4]; const initialValue = 5; co..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด(java)
ยท
๐Ÿ“ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต
๐ŸŒณ๋ฌธ์ œ ์„ค๋ช… ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด t์™€ p๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, t์—์„œ p์™€ ๊ธธ์ด๊ฐ€ ๊ฐ™์€ ๋ถ€๋ถ„๋ฌธ์ž์—ด ์ค‘์—์„œ, ์ด ๋ถ€๋ถ„๋ฌธ์ž์—ด์ด ๋‚˜ํƒ€๋‚ด๋Š” ์ˆ˜๊ฐ€ p๊ฐ€ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆ˜๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ๊ฒƒ์ด ๋‚˜์˜ค๋Š” ํšŸ์ˆ˜๋ฅผ returnํ•˜๋Š” ํ•จ์ˆ˜ solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, t="3141592"์ด๊ณ  p="271" ์ธ ๊ฒฝ์šฐ, t์˜ ๊ธธ์ด๊ฐ€ 3์ธ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์€ 314, 141, 415, 159, 592์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ž์—ด์ด ๋‚˜ํƒ€๋‚ด๋Š” ์ˆ˜ ์ค‘ 271๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ˆ˜๋Š” 141, 159 2๊ฐœ ์ž…๋‹ˆ๋‹ค. ๐ŸŒณ์ž…์ถœ๋ ฅ ์˜ˆ t p result "3141592" "271" 2 "500220839878" "7" 8 "10203" "15" 3 ๐ŸŒณ์ฝ”๋“œ class Solution { public int solution(String t, String p) {..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ฐœ์ธ์ •๋ณด ์ˆ˜์ง‘ ์œ ํšจ๊ธฐ๊ฐ„(java)
ยท
๐Ÿ“ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต
๐ŸŒณ๋ฌธ์ œ ์„ค๋ช… ๊ณ ๊ฐ์˜ ์•ฝ๊ด€ ๋™์˜๋ฅผ ์–ป์–ด์„œ ์ˆ˜์ง‘๋œ 1~n๋ฒˆ์œผ๋กœ ๋ถ„๋ฅ˜๋˜๋Š” ๊ฐœ์ธ์ •๋ณด n๊ฐœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ฝ๊ด€ ์ข…๋ฅ˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์žˆ์œผ๋ฉฐ ๊ฐ ์•ฝ๊ด€๋งˆ๋‹ค ๊ฐœ์ธ์ •๋ณด ๋ณด๊ด€ ์œ ํšจ๊ธฐ๊ฐ„์ด ์ •ํ•ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ๊ฐ ๊ฐœ์ธ์ •๋ณด๊ฐ€ ์–ด๋–ค ์•ฝ๊ด€์œผ๋กœ ์ˆ˜์ง‘๋๋Š”์ง€ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์ง‘๋œ ๊ฐœ์ธ์ •๋ณด๋Š” ์œ ํšจ๊ธฐ๊ฐ„ ์ „๊นŒ์ง€๋งŒ ๋ณด๊ด€ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์œ ํšจ๊ธฐ๊ฐ„์ด ์ง€๋‚ฌ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ํŒŒ๊ธฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, A๋ผ๋Š” ์•ฝ๊ด€์˜ ์œ ํšจ๊ธฐ๊ฐ„์ด 12 ๋‹ฌ์ด๊ณ , 2021๋…„ 1์›” 5์ผ์— ์ˆ˜์ง‘๋œ ๊ฐœ์ธ์ •๋ณด๊ฐ€ A์•ฝ๊ด€์œผ๋กœ ์ˆ˜์ง‘๋˜์—ˆ๋‹ค๋ฉด ํ•ด๋‹น ๊ฐœ์ธ์ •๋ณด๋Š” 2022๋…„ 1์›” 4์ผ๊นŒ์ง€ ๋ณด๊ด€ ๊ฐ€๋Šฅํ•˜๋ฉฐ 2022๋…„ 1์›” 5์ผ๋ถ€ํ„ฐ ํŒŒ๊ธฐํ•ด์•ผ ํ•  ๊ฐœ์ธ์ •๋ณด์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ํŒŒ๊ธฐํ•ด์•ผ ํ•  ๊ฐœ์ธ์ •๋ณด ๋ฒˆํ˜ธ๋“ค์„ ๊ตฌํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋‹ฌ์€ 28์ผ๊นŒ์ง€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์˜ค๋Š˜ ๋‚ ์งœ๊ฐ€ 2022.05.19์ผ..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ด๋“ฑ๋ณ€์‚ผ๊ฐํ˜• ์ถœ๋ ฅํ•˜๊ธฐ (java)
ยท
๐Ÿ“ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต
โœ๏ธ๋ฌธ์ œ ์„ค๋ช… "*"์˜ ๋†’์ด์™€ ๋„ˆ๋น„๋ฅผ 1์ด๋ผ๊ณ  ํ–ˆ์„ ๋•Œ, "*"์„ ์ด์šฉํ•ด ์ง๊ฐ ์ด๋“ฑ๋ณ€ ์‚ผ๊ฐํ˜•์„ ๊ทธ๋ฆฌ๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ •์ˆ˜ n ์ด ์ฃผ์–ด์ง€๋ฉด ๋†’์ด์™€ ๋„ˆ๋น„๊ฐ€ n ์ธ ์ง๊ฐ ์ด๋“ฑ๋ณ€ ์‚ผ๊ฐํ˜•์„ ์ถœ๋ ฅํ•˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์„ธ์š”. ๋‹จ์ˆœํžˆ ๋ฐ‘๋ณ€๊ณผ ๋†’์ด๊ฐ€ ๊ฐ™์€ ๋ณ„๋ชจ์–‘์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ๋‹ค. โœ๏ธ๋‚ด ํ’€์ด import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i=0; i