๐Ÿง TIL/๐Ÿงช Coding Test

function solution(arr){ const newArr = []; for(i = 0; i  ์Šคํƒ, ํ  ํ›„์ž…์„ ์ถœ ๋ฐฉ์‹ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€์Œ
๐Ÿ’‍โ™€๏ธ ์˜ˆ์‚ฐS์‚ฌ์—์„œ๋Š” ๊ฐ ๋ถ€์„œ์— ํ•„์š”ํ•œ ๋ฌผํ’ˆ์„ ์ง€์›ํ•ด ์ฃผ๊ธฐ ์œ„ํ•ด ๋ถ€์„œ๋ณ„๋กœ ๋ฌผํ’ˆ์„ ๊ตฌ๋งคํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๊ธˆ์•ก์„ ์กฐ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ์ „์ฒด ์˜ˆ์‚ฐ์ด ์ •ํ•ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๋ถ€์„œ์˜ ๋ฌผํ’ˆ์„ ๊ตฌ๋งคํ•ด ์ค„ ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ๋ถ€์„œ์˜ ๋ฌผํ’ˆ์„ ๊ตฌ๋งคํ•ด ์ค„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผํ’ˆ์„ ๊ตฌ๋งคํ•ด ์ค„ ๋•Œ๋Š” ๊ฐ ๋ถ€์„œ๊ฐ€ ์‹ ์ฒญํ•œ ๊ธˆ์•ก๋งŒํผ์„ ๋ชจ๋‘ ์ง€์›ํ•ด ์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 1,000์›์„ ์‹ ์ฒญํ•œ ๋ถ€์„œ์—๋Š” ์ •ํ™•ํžˆ 1,000์›์„ ์ง€์›ํ•ด์•ผ ํ•˜๋ฉฐ, 1,000์›๋ณด๋‹ค ์ ์€ ๊ธˆ์•ก์„ ์ง€์›ํ•ด ์ค„ ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๋ถ€์„œ๋ณ„๋กœ ์‹ ์ฒญํ•œ ๊ธˆ์•ก์ด ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด d์™€ ์˜ˆ์‚ฐ budget์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ตœ๋Œ€ ๋ช‡ ๊ฐœ์˜ ๋ถ€์„œ์— ๋ฌผํ’ˆ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.  ๐Ÿ‘ฉ‍๐Ÿ’ป ํ’€์ดfuncti..
๐Ÿ” ๋ฌธ์ œ - ๋ฌธ์ž์—ด๋กœ ๊ตฌ์„ฑ๋œ ๋ฆฌ์ŠคํŠธ strings์™€, ์ •์ˆ˜ n์ด ์ฃผ์–ด์กŒ์„๋•Œ, ๊ฐ ๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค n๋ฒˆ์งธ ๊ธ€์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ฆฌ - ํ•ด๋‹น ์ธ๋ฑ์Šค ๊ฐ’์ด ์—ฌ๋Ÿฟ์ผ ๊ฒฝ์šฐ ์‚ฌ์ „์ˆœ์œผ๋กœ ์•ž์„  ๋ฌธ์ž์—ด์ด ์•ž์ชฝ์œผ๋กœ ์œ„์น˜ํ•œ๋‹ค. โŒจ๏ธ ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ strings n return ['sun', 'bed', 'car'] 1 ['car', 'bed', 'sun'] ['abce', 'abcd', 'cdx'] 2 ['abcd', 'abce', 'cdx'] ๐Ÿ™‹‍โ™€๏ธ ๋‚ด๊ฐ€ ํ‘ผ ๋ฐฉ์‹ 1. ์ธ๋ฑ์Šค n์— ํ•ด๋‹น๋˜๋Š” ๋ฐฐ์—ด์˜ ๊ฐ’ ์ถ”์ถœํ•œ๋‹ค. 2. ํ•ด๋‹น ๊ฐ’๋“ค์„ ๋ฌธ์ž์—ด ์•ž์— ๋ถ™์—ฌ์ค€๋‹ค. 3. ์‚ฌ์ „์ˆœ์œผ๋กœ ์ •๋ ฌ .sort() 4. ์•ž๊ธ€์ž ๋–ผ๊ธฐ // ์ตœ์ข… ๋ฆฌํ„ด ๊ฐ’ let answer = []; // ํ•ด๋‹น ๊ฐ’๋“ค์„ ๋ฌธ์ž์—ด ์•ž์— ๋ถ™์—ฌ์ค€ ๊ฐ’๋“ค์˜ ๋ฐฐ์—ด. let ne..
๐Ÿ” ๋ฌธ์ œ - ์ •์ˆ˜๋“ค์˜ ์ ˆ๋Œ“๊ฐ’์„ ์ฐจ๋ก€๋Œ€๋กœ ๋‹ด์€ ์ •์ˆ˜ ๋ฐฐ์—ด absolutes, - ์ •์ˆ˜๋“ค์˜ ๋ถ€ํ˜ธ๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ๋‹ด์€ ๋ถˆ๋ฆฌ์–ธ ๋ฐฐ์—ด signs๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. - ์‹ค์ œ ์ •์ˆ˜๋“ค์˜ ํ•ฉ์„ ๊ตฌํ•˜์—ฌ return ํ•ด์ค€๋‹ค. โŒจ๏ธ ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๐Ÿ™‹‍โ™€๏ธ ๋‚ด๊ฐ€ ํ‘ผ ๋ฐฉ์‹ - ๋ฌธ์ œ ์ž์ฒด๋„ ์ดํ•ด๋ฅผ ๋ชปํ–ˆ์—ˆ์Œ.. - reduce ์ดํ•ดํ•˜๋Š๋ผ ํž˜๋“ค์—ˆ๋‹ค function solution(absolutes, signs) { // returnํ•  answer ๊ฐ’ ์„ ์–ธ var answer = 0; // absolutes, signs ๊ฐ๊ฐ ์—ฐ์‚ฐ์— ๋”ฐ๋ฅธ ๊ฒฐ๊ณผ ๊ฐ’ ๋„ฃ์–ด ์ค„ ๋ฐฐ์—ด ์„ ์–ธ let newArr = []; // absolutes์™€ signs์˜ ๊ธธ์ด๋Š” ํ•ญ์ƒ ๋™์ผ // ๋ฐ˜๋ณต๋ฌธ ๊ฐ™์€ ์ธ์ž๋กœ ๋Œ๋ ค๋„ ๋ฌด๋ฐฉ for(let i = 0; i < absolut..
๐Ÿ” ๋ฌธ์ œ - ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๊ฐ€ ์„ž์—ฌ์žˆ๋Š” ๋ฌธ์ž์—ด s์— 'p'์˜ ๊ฐœ์ˆ˜์™€ 'y'์˜ ๊ฐœ์ˆ˜๋ฅผ ๋น„๊ตํ•ด ๊ฐ™์œผ๋ฉด True, ๋‹ค๋ฅด๋ฉด False๋ฅผ return - 'p', 'y' ๋ชจ๋‘ ํ•˜๋‚˜๋„ ์—†๋Š” ๊ฒฝ์šฐ๋Š” ํ•ญ์ƒ True๋ฅผ ๋ฆฌํ„ด - ๋‹จ, ๊ฐœ์ˆ˜๋ฅผ ๋น„๊ตํ•  ๋•Œ ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋Š” ๊ตฌ๋ณ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. - ์˜ˆ๋ฅผ ๋“ค์–ด s๊ฐ€ "pPoooyY"๋ฉด true๋ฅผ returnํ•˜๊ณ  "Pyy"๋ผ๋ฉด false๋ฅผ return โŒจ๏ธ ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๐Ÿ™‹‍โ™€๏ธ ๋‚ด๊ฐ€ ํ‘ผ ๋ฐฉ์‹ - filter ์จ๋ณด๋ ค๋‹ค๊ฐ€ ๊ธธ์ด๋ฅผ ๊ตฌํ•ด์•ผํ•ด์„œ ๋ฐฐ์—ด ์•ˆ์— ๋„ฃ์–ด์ค˜์•ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— - forEach๋กœ ๋Œ๋ฉฐ p, P, y, Y๋ž‘ ์ผ์น˜ํ•˜๋Š” ๋ฌธ์ž ์ฐพ์•„ ๋ฐฐ์—ด์— ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค! function solution(s){ // ํŒŒ๋ผ๋ฏธํ„ฐ s์˜ ๋ฌธ์ž์—ด์„ ๋„ฃ์–ด์ค„ ๋ฐฐ์—ด let arr = []; // 'p', 'y' ๊ธธ์ด..
๐Ÿ” ๋ฌธ์ œ - ๋ฌธ์ž์—ด my_string๊ณผ ์ •์ˆ˜ num1, num2๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, my_string์—์„œ ์ธ๋ฑ์Šค num1๊ณผ ์ธ๋ฑ์Šค num2์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ž๋ฅผ ๋ฐ”๊พผ ๋ฌธ์ž์—ด์„ return โŒจ๏ธ ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๐Ÿ™‹‍โ™€๏ธ ๋‚ด๊ฐ€ ํ‘ผ ๋ฐฉ์‹ - ๋ง๊ทธ๋Œ€๋กœ ์œ„์น˜๋ฅผ ๋ฐ”๊พธ๋ฉด ์–ด๋–จ๊นŒ ์ƒ๊ฐํ–ˆ๋‹ค. - ํ•ด๋‹น ์ธ๋ฑ์Šค ์œ„์น˜ ๊ฐ’์˜ ์š”์†Œ๋“ค์„ ๋ฐ”๊ฟ” ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์— ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค. - ๋ฐฐ์—ด์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•ด์ฃผ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— join() ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉํ•ด์ฃผ์—ˆ๋‹ค. function solution(my_string, num1, num2) { var answer = ""; let str_arr = my_string.split(""); let switch_arr = str_arr[num1]; str_arr[num1] = str_arr[num2]; str_..
๐Ÿ” ๋ฌธ์ œ - ๋ฌธ์ž์—ด my_string์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋Œ€๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ์†Œ๋ฌธ์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ ๋ฌธ์ž์—ด์„ return โŒจ๏ธ ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๐Ÿ™‹‍โ™€๏ธ ๋‚ด๊ฐ€ ํ‘ผ ๋ฐฉ์‹ - ๋Œ€์†Œ๋ฌธ์ž ๋ณ€ํ™˜ํ•˜๋ฉด ๋– ์˜ฌ๋ž๋˜๊ฑด toUpperCase, toLowerCase์˜€๋‹ค. - ๊ฐ๊ฐ์˜ ์š”์†Œ๋“ค์„ ๋Œ๋ฉด์„œ ๊ฐ ์š”์†Œ์˜ ๋ฌธ์ž๊ฐ€ UpperCase๊ฐ€ ๋œ ์ƒํƒœ์™€ ๋™์ผํ•˜๋‹ค๋ฉด LowerCase ํ•ด์ฃผ์–ด ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ”์ฃผ์—ˆ๊ณ  - LowerCase๊ฐ€ ๋œ ์ƒํƒœ์™€ ๋™์ผํ•˜๋‹ค๋ฉด UpperCase ํ•ด์ฃผ์—ˆ๋‹ค. - ๊ฐ๊ฐ ํ•ด์ค€ ๊ฐ’๋“ค์„ ๋นˆ ๋ฐฐ์—ด๊ฐ’์— ๋„ฃ์–ด๋‘์—ˆ๊ณ , join ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ๋ฌธ์ž์—ด๋กœ ์ถ”์ถœํ•˜๋ฉฐ ๋ฐ˜ํ™˜ํ•˜์˜€๋‹ค. - ๋‹ค๋ฅธ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ๋ด์•ผํ• ๊ฒƒ๊ฐ™๋‹น.. ๋ฉ”์†Œ๋“œ๊ฐ€ ๋งŽ์•„ ํ›จ์”ฌ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ•˜์ง€ ์•Š์•˜์„๊นŒ ์ƒ๊ฐ์ด ๋“ ๋‹ค. function solution(my_string) { var ..
๐Ÿ” ๋ฌธ์ œ - ๋ฌธ์ž์—ด my_string์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง€๊ณ , my_string์—์„œ ์ค‘๋ณต๋œ ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•œ ํ›„ ํ•˜๋‚˜์˜ ๋ฌธ์ž๋งŒ ๋‚จ๊ธด ๋ฌธ์ž์—ด์„ return โŒจ๏ธ ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๐Ÿ™‹‍โ™€๏ธ ๋‚ด๊ฐ€ ํ‘ผ ๋ฐฉ์‹ - ๋“œ๋””์–ด ๋ชจ๋˜์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep dive ์ฑ…์—์„œ ๋ดค๋˜ Set์„ ์‚ฌ์šฉํ•ด๋ณด์•˜๋‹ค!! - my_string ๊ฐ’์„ ๋ฐฐ์—ด๋กœ ๋ฐ›์•„ ๊ฐ ์š”์†Œ์˜ ์ค‘๋ณต์„ ์ œ๊ฑฐ ํ•ด์ค€ ํ›„ - join('') ๋ฉ”์†Œ๋“œ๋กœ ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์—ฐ๊ฒฐํ•ด ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ค์–ด์ฃผ์–ด ๋ฐ˜ํ™˜ํ•œ๋‹ค. function solution(my_string) { var answer = new Set([...my_string]); let answer_arr = [...answer].join(""); return answer_arr; } ์ฐธ๊ณ ์ž๋ฃŒ: ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ https:..
๐Ÿ” ๋ฌธ์ œ - ๋ฌธ์ž์—ด my_string์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, my_string ์•ˆ์— ์žˆ๋Š” ์ˆซ์ž๋งŒ ๊ณจ๋ผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ returnํ•˜๊ธฐ โŒจ๏ธ ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๐Ÿ™‹‍โ™€๏ธ ๋‚ด๊ฐ€ ํ‘ผ ๋ฐฉ์‹ - ์ˆซ์ž๋งŒ ์ถœ๋ ฅ์€ ์–ด๋–ป๊ฒŒ ํ• ์ง€ ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ค๊ฐ€ ๋งŒ๋‚œ ์ •๊ทœ์‹ - ์ˆซ์ž๋งŒ ์ถ”์ถœํ•ด์ฃผ๋Š” ์ •๊ทœ์‹์œผ๋กœ ์ •๋ฆฌํ›„ str ๋ณ€์ˆ˜์— ๋„ฃ์–ด์คฌ๋‹ค. function solution(my_string) { var answer = []; let regex = /[^0-9]/g; let str = my_string.replace(regex, ""); console.log(str);// 12392 return answer; } solution("hi12392"); - ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ์—์„œ๋Š” ๋ฐฐ์—ด ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— .split() ๋ฉ”์†Œ๋“œ๋กœ ๋ฐฐ์—ด ์•ˆ์— ๋„ฃ์–ด์ค€ ๋‹ค์Œ .s..
๐Ÿ” ๋ฌธ์ œ - ๊ฐ€์œ„๋Š” 2 ๋ฐ”์œ„๋Š” 0 ๋ณด๋Š” 5๋กœ ํ‘œํ˜„ - ๊ฐ€์œ„ ๋ฐ”์œ„ ๋ณด๋ฅผ ๋‚ด๋Š” ์ˆœ์„œ๋Œ€๋กœ ๋‚˜ํƒ€๋‚ธ ๋ฌธ์ž์—ด rsp๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, rsp์— ์ €์žฅ๋œ ๊ฐ€์œ„ ๋ฐ”์œ„ ๋ณด๋ฅผ ๋ชจ๋‘ ์ด๊ธฐ๋Š” ๊ฒฝ์šฐ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜ํƒ€๋‚ธ ๋ฌธ์ž์—ด์„ return โŒจ๏ธ ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๐Ÿ™‹‍โ™€๏ธ ๋‚ด๊ฐ€ ํ‘ผ ๋ฐฉ์‹ - if ๋ฌธ์œผ๋กœ ํ•˜๋‚˜ ํ•˜๋‚˜ ํ•ด๊ฒฐํ•˜๋ ค๋‹ค๊ฐ€ reverse ์ฒ˜๋Ÿผ ๋ฉ”์†Œ๋“œ ํ™œ์šฉ์„ ๋งŽ์ด ํ•ด์•ผ๊ฒ ๋‹ค ์‹ถ์–ด ๊ฒ€์ƒ‰ํ•ด๋ดค๋‹ค. - ๊ฐ๊ฐ์˜ ๊ฐ€์œ„, ๋ฐ”์œ„, ๋ณด๊ฐ€ ์ด๊ธฐ๋Š” ์ˆซ์ž๋Š” ์ •ํ•ด์ ธ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด์„ ์ด์šฉํ•ด๋ณด๋ฉด ์–ด๋–จ๊นŒ ์‹ถ์–ด ์ด๊ฒƒ ์ €๊ฒƒ ํ•ด๋ณด๋‹ค ์‹คํŒจ.. - forEach์™€ map ์ฐจ์ด๋ฅผ ๋ชจ๋ฅด๊ณ  ์žˆ์—ˆ๋˜๊ฒŒ ์‹ค์ˆ˜์˜ ์ด์œ  -> ๊ณต๋ถ€ํ•˜์ž.. function solution(rsp) { const rspWin = { 2 : 0, 0 : 5, 5 : 2 }; return [...rsp]...
sooyoung.c.dev
'๐Ÿง TIL/๐Ÿงช Coding Test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก