๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“– Problem Solution/Programmers175

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋‘ ์ •์ˆ˜ ์‚ฌ์ด์˜ ํ•ฉ Swift ๋ฌธ์ œ ์„ค๋ช… ๋‘ ์ •์ˆ˜ 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์˜ ๋Œ€์†Œ๊ด€๊ณ„๋Š” ์ •ํ•ด์ ธ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ a b return 3 5 12 3 3 3 5 3 12 ๋‚˜์˜ ํ’€์ด: a๊ฐ€ b๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ์™€ a๊ฐ€ b๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ a์™€ b๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ ์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€๋กœ ๋‚˜๋ˆด๋‹ค. ๊ทธ๋ฆฌ๊ณค var sum์œผ๋กœ ํ•ฉ์„ ๋งŒ๋“ค์–ด์ฃผ๊ณ  a,b๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๊ธฐ์— ๊ฐ ๊ฐ newa,newb๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ํ•ฉ์—๋‹ค๊ฐ€ ๋”ํ•ด์ค€ ๋’ค a,b์‚ฌ.. 2020. 2. 11.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž ๋ฐฐ์—ด Swift ๋ฌธ์ œ ์„ค๋ช… array์˜ ๊ฐ element ์ค‘ divisor๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ๊ฐ’์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. divisor๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” element๊ฐ€ ํ•˜๋‚˜๋„ ์—†๋‹ค๋ฉด ๋ฐฐ์—ด์— -1์„ ๋‹ด์•„ ๋ฐ˜ํ™˜ํ•˜์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ arr์€ ์ž์—ฐ์ˆ˜๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. ์ •์ˆ˜ i, j์— ๋Œ€ํ•ด i ≠ j ์ด๋ฉด arr[i] ≠ arr[j] ์ž…๋‹ˆ๋‹ค. divisor๋Š” ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค. array๋Š” ๊ธธ์ด 1 ์ด์ƒ์ธ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ arr divisor return [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3,2,6] 10 [-1] ์ฒ˜์Œ ํ’€์ด: 1.newarray๋ผ๋Š” ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์ฃผ๊ณ  2.for๋ฌธ์„ ์‚ฌ์šฉํ•ด 0์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” .. 2020. 2. 11.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๊ฐ€์šด๋ฐ ๊ธ€์ž ๊ฐ€์ ธ์˜ค๊ธฐ Swift ๋ฌธ์ œ ์„ค๋ช… ๋‹จ์–ด s์˜ ๊ฐ€์šด๋ฐ ๊ธ€์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”. ๋‹จ์–ด์˜ ๊ธธ์ด๊ฐ€ ์ง์ˆ˜๋ผ๋ฉด ๊ฐ€์šด๋ฐ ๋‘๊ธ€์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์žฌํ•œ์‚ฌํ•ญ s๋Š” ๊ธธ์ด๊ฐ€ 1 ์ด์ƒ, 100์ดํ•˜์ธ ์ŠคํŠธ๋ง์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ s return abcde c qwer we ํ•ต์‹ฌ:๋„ˆ ๋ฌธ์ž์—ด ์ค‘์— index์ฐพ์•„์„œ ๋บ„ ์ˆ˜ ์žˆ์–ด? ํ’€์ด: String์˜ index๋ฒˆ์งธ ๋ฌธ์ž๋ฅผ ๋นผ๋ ค๋ฉด ๋‹จ์ˆœํžˆ s[1]ํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค. String.startIndex๋ฅผ ์•Œ์•„๋‚ด์–ด์„œ s[s.startInex]๋ฅผ ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ๋˜ํ•œ ์–ด๋””์„œ๋ถ€ํ„ฐ ์–ด๋””๊นŒ์ง€๋ผ๋Š” ๋ฉ”์†Œ๋“œ๋Š” String.index[์–ด๋””์„œ๋ถ€ํ„ฐ,offsetBy:์–ด๋””๊นŒ์ง€) ์–ด๋””๊นŒ์ง€๋ผ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” offsetBy์ด๋‹ค. startIndex๋ถ€ํ„ฐ offsetBy๊นŒ์ง€ ์•Œ๋ ค์ค˜๋ผ๋Š” ๋œป์ด๋‹ค. ์ด ๋ฌธ์ œ์—์„œ๋Š” ๊ฐ€์šด๋ฐ ์ธ๋ฑ.. 2020. 2. 9.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2016๋…„ Swift ๋ฌธ์ œ ์„ค๋ช… 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์ผ๊ฐ™์€ ๋‚ ์งœ๋Š” ์ฃผ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค) ์ž…์ถœ๋ ฅ ์˜ˆ a b result 5 24 "TUE" ํ’€์ด:์›”ํ™”์ˆ˜๋ชฉ๊ธˆ์ด ๋‹ด๊ฒจ์žˆ๋Š” ๋ฐฐ์—ด๊ณผ ์œค๋…„์ผ ๋•Œ ๊ฐ ์›”๋ณ„ ์ผ์ˆ˜๋ฅผ ๋‹ด๊ฒจ์žˆ๋Š” ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  daynumber๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ์‹œ.. 2020. 2. 9.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฒด์œก๋ณต Swift ์ ์‹ฌ์‹œ๊ฐ„์— ๋„๋‘‘์ด ๋“ค์–ด, ์ผ๋ถ€ ํ•™์ƒ์ด ์ฒด์œก๋ณต์„ ๋„๋‚œ๋‹นํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹คํ–‰ํžˆ ์—ฌ๋ฒŒ ์ฒด์œก๋ณต์ด ์žˆ๋Š” ํ•™์ƒ์ด ์ด๋“ค์—๊ฒŒ ์ฒด์œก๋ณต์„ ๋นŒ๋ ค์ฃผ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ํ•™์ƒ๋“ค์˜ ๋ฒˆํ˜ธ๋Š” ์ฒด๊ฒฉ ์ˆœ์œผ๋กœ ๋งค๊ฒจ์ ธ ์žˆ์–ด, ๋ฐ”๋กœ ์•ž๋ฒˆํ˜ธ์˜ ํ•™์ƒ์ด๋‚˜ ๋ฐ”๋กœ ๋’ท๋ฒˆํ˜ธ์˜ ํ•™์ƒ์—๊ฒŒ๋งŒ ์ฒด์œก๋ณต์„ ๋นŒ๋ ค์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 4๋ฒˆ ํ•™์ƒ์€ 3๋ฒˆ ํ•™์ƒ์ด๋‚˜ 5๋ฒˆ ํ•™์ƒ์—๊ฒŒ๋งŒ ์ฒด์œก๋ณต์„ ๋นŒ๋ ค์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒด์œก๋ณต์ด ์—†์œผ๋ฉด ์ˆ˜์—…์„ ๋“ค์„ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ฒด์œก๋ณต์„ ์ ์ ˆํžˆ ๋นŒ๋ ค ์ตœ๋Œ€ํ•œ ๋งŽ์€ ํ•™์ƒ์ด ์ฒด์œก์ˆ˜์—…์„ ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ํ•™์ƒ์˜ ์ˆ˜ n, ์ฒด์œก๋ณต์„ ๋„๋‚œ๋‹นํ•œ ํ•™์ƒ๋“ค์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด lost, ์—ฌ๋ฒŒ์˜ ์ฒด์œก๋ณต์„ ๊ฐ€์ ธ์˜จ ํ•™์ƒ๋“ค์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด reserve๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ฒด์œก์ˆ˜์—…์„ ๋“ค์„ ์ˆ˜ ์žˆ๋Š” ํ•™์ƒ์˜ ์ตœ๋Œ“๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ.. 2020. 2. 8.
Swift ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค K๋ฒˆ์งธ ์ˆ˜ Youtube ํ’€์ด์˜์ƒ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - K๋ฒˆ์งธ์ˆ˜ [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr Source Code func solution(_ array:[Int], _ commands:[[Int]]) -> [Int] { var answer:[Int] = [] for command in commands { let i = command[0] - 1 let j = command[1] - 1 let k = command[2] - 1 let number = Array(array[i...j]).sorted()[k] answer.append(number) } return answer } fun.. 2020. 2. 7.
Swift ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ˆ˜ํฌ์ž ์ˆ˜ํฌ์ž๋Š” ์ˆ˜ํ•™์„ ํฌ๊ธฐํ•œ ์‚ฌ๋žŒ์˜ ์ค€๋ง์ž…๋‹ˆ๋‹ค. ์ˆ˜ํฌ์ž ์‚ผ์ธ๋ฐฉ์€ ๋ชจ์˜๊ณ ์‚ฌ์— ์ˆ˜ํ•™ ๋ฌธ์ œ๋ฅผ ์ „๋ถ€ ์ฐ์œผ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜ํฌ์ž๋Š” 1๋ฒˆ ๋ฌธ์ œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฐ์Šต๋‹ˆ๋‹ค. 1๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1๋ฒˆ ๋ฌธ์ œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ๊นŒ์ง€์˜ ์ •๋‹ต์ด ์ˆœ์„œ๋Œ€๋กœ ๋“ค์€ ๋ฐฐ์—ด answers๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ๋งžํžŒ ์‚ฌ๋žŒ์ด ๋ˆ„๊ตฌ์ธ์ง€ ๋ฐฐ์—ด์— ๋‹ด์•„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”... 2020. 2. 6.
728x90
๋ฐ˜์‘ํ˜•