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

3๏ธโƒฃ Swift/Problem Solving110

[Swift Algorithm] ๋ฐฉ ๋ฒˆํ˜ธ BOJ #1475 ๋ฌธ์ œ ์„ค๋ช… ๋‹ค์†œ์ด๋Š” ์€์ง„์ด์˜ ์˜†์ง‘์— ์ƒˆ๋กœ ์ด์‚ฌ์™”๋‹ค. ๋‹ค์†œ์ด๋Š” ์ž๊ธฐ ๋ฐฉ ๋ฒˆํ˜ธ๋ฅผ ์˜ˆ์œ ํ”Œ๋ผ์Šคํ‹ฑ ์ˆซ์ž๋กœ ๋ฌธ์— ๋ถ™์ด๋ ค๊ณ  ํ•œ๋‹ค. ๋‹ค์†œ์ด์˜ ์˜†์ง‘์—์„œ๋Š” ํ”Œ๋ผ์Šคํ‹ฑ ์ˆซ์ž๋ฅผ ํ•œ ์„ธํŠธ๋กœ ํŒ๋‹ค. ํ•œ ์„ธํŠธ์—๋Š” 0๋ฒˆ๋ถ€ํ„ฐ 9๋ฒˆ๊นŒ์ง€ ์ˆซ์ž๊ฐ€ ํ•˜๋‚˜์”ฉ ๋“ค์–ด์žˆ๋‹ค. ๋‹ค์†œ์ด์˜ ๋ฐฉ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ํ•„์š”ํ•œ ์„ธํŠธ์˜ ๊ฐœ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค. (6์€ 9๋ฅผ ๋’ค์ง‘์–ด์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ณ , 9๋Š” 6์„ ๋’ค์ง‘์–ด์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.) ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋‹ค์†œ์ด์˜ ๋ฐฉ ๋ฒˆํ˜ธ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜ ๋˜๋Š” 0์ด๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ํ•„์š”ํ•œ ์„ธํŠธ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ์ œ ์ž…๋ ฅ 9999 ์ถœ๋ ฅ 2 ๋‚ด ๋ฌธ์ œ ํ’€์ด import Foundation let input = readLine()! var num = Array(repeatin.. 2021. 7. 30.
[Swift Algorithm] ๋ฐฉ ๋ฐฐ์ • BOJ #13300 ๋ฌธ์ œ ์„ค๋ช… ์ •๋ณด ์ดˆ๋“ฑํ•™๊ต์—์„œ๋Š” ๋‹จ์ฒด๋กœ 2๋ฐ• 3์ผ ์ˆ˜ํ•™์—ฌํ–‰์„ ๊ฐ€๊ธฐ๋กœ ํ–ˆ๋‹ค. ์—ฌ๋Ÿฌ ํ•™๋…„์ด ๊ฐ™์€ ์žฅ์†Œ๋กœ ์ˆ˜ํ•™์—ฌํ–‰์„ ๊ฐ€๋ ค๊ณ  ํ•˜๋Š”๋ฐ 1ํ•™๋…„๋ถ€ํ„ฐ 6ํ•™๋…„๊นŒ์ง€ ํ•™์ƒ๋“ค์ด ๋ฌต์„ ๋ฐฉ์„ ๋ฐฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. ๋‚จํ•™์ƒ์€ ๋‚จํ•™์ƒ๋ผ๋ฆฌ, ์—ฌํ•™์ƒ์€ ์—ฌํ•™์ƒ๋ผ๋ฆฌ ๋ฐฉ์„ ๋ฐฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. ๋˜ํ•œ ํ•œ ๋ฐฉ์—๋Š” ๊ฐ™์€ ํ•™๋…„์˜ ํ•™์ƒ๋“ค์„ ๋ฐฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. ๋ฌผ๋ก  ํ•œ ๋ฐฉ์— ํ•œ ๋ช…๋งŒ ๋ฐฐ์ •ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•œ ๋ฐฉ์— ๋ฐฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ธ์› ์ˆ˜ K๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์กฐ๊ฑด์— ๋งž๊ฒŒ ๋ชจ๋“  ํ•™์ƒ์„ ๋ฐฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ฐฉ์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆ˜ํ•™์—ฌํ–‰์„ ๊ฐ€๋Š” ํ•™์ƒ์ด ๋‹ค์Œ๊ณผ ๊ฐ™๊ณ  K = 2์ผ ๋•Œ 12๊ฐœ์˜ ๋ฐฉ์ด ํ•„์š”ํ•˜๋‹ค. ์™œ๋ƒํ•˜๋ฉด 3ํ•™๋…„ ๋‚จํ•™์ƒ์„ ๋ฐฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฉ ๋‘ ๊ฐœ๊ฐ€ ํ•„์š”ํ•˜๊ณ  4ํ•™๋…„ ์—ฌํ•™์ƒ์—๋Š” ๋ฐฉ์„ ๋ฐฐ์ •ํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ•™๋…„ ์—ฌ.. 2021. 7. 30.
[Swift Algorithm] Strfry BOJ #11328 ๋ฌธ์ œ ์„ค๋ช… C ์–ธ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋ฌธ์ž์—ด(string)์€ nativeํ•œ ์ž๋ฃŒํ˜•์ด ์•„๋‹ˆ๋‹ค. ์‚ฌ์‹ค, ๋ฌธ์ž์—ด์€ ๊ทธ์ €, ๋ฌธ์ž์—ด์˜ ๋์„ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•œ ๋ง๋‹จ์˜ NULL์ด ์‚ฌ์šฉ๋œ, ๋ฌธ์ž๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ผ ๋ฟ์ด๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, C ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃจ๋Š” ๋ฐ์— ๋งค์šฐ ์œ ์šฉํ•œ ํ•จ์ˆ˜๋“ค์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค : ๊ทธ๋“ค ์ค‘์—๋Š” strcpy, strcmp, strtol, strtok, strlen, strcat ๊ฐ€ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ž˜ ์•Œ๋ ค์ ธ ์žˆ์ง€ ์•Š์œผ๋ฉฐ, ์ž˜ ์‚ฌ์šฉ๋˜์ง€๋„ ์•Š๋Š” ํ•จ์ˆ˜๊ฐ€ ํ•˜๋‚˜ ์žˆ๋‹ค : strfry ํ•จ์ˆ˜๋‹ค. strfry ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด์„ ๋ฌด์ž‘์œ„๋กœ ์žฌ๋ฐฐ์—ดํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค. (์—ญ์ž ์ฃผ : ์—ฌ๊ธฐ์—์„œ ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด๊ณผ ์ƒˆ๋กœ ์žฌ๋ฐฐ์—ด๋œ ๋ฌธ์ž์—ด์ด ๋‹ค๋ฅผ.. 2021. 7. 28.
[Swift Algorithm] ์ˆซ์ž์˜ ๊ฐœ์ˆ˜ BOJ #2577 ๋ฌธ์ œ ์„ค๋ช… ์„ธ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜ A, B, C๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ A × B × C๋ฅผ ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ์— 0๋ถ€ํ„ฐ 9๊นŒ์ง€ ๊ฐ๊ฐ์˜ ์ˆซ์ž๊ฐ€ ๋ช‡ ๋ฒˆ์”ฉ ์“ฐ์˜€๋Š”์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด A = 150, B = 266, C = 427 ์ด๋ผ๋ฉด A × B × C = 150 × 266 × 427 = 17037300 ์ด ๋˜๊ณ , ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ 17037300 ์—๋Š” 0์ด 3๋ฒˆ, 1์ด 1๋ฒˆ, 3์ด 2๋ฒˆ, 7์ด 2๋ฒˆ ์“ฐ์˜€๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— A, ๋‘˜์งธ ์ค„์— B, ์…‹์งธ ์ค„์— C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. A, B, C๋Š” ๋ชจ๋‘ 100๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1,000๋ณด๋‹ค ์ž‘์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์—๋Š” A × B × C์˜ ๊ฒฐ๊ณผ์— 0 ์ด ๋ช‡ ๋ฒˆ ์“ฐ์˜€๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ์—ด ๋ฒˆ์งธ ์ค„๊นŒ์ง€ A × B × C์˜ ๊ฒฐ๊ณผ์— 1๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž๊ฐ€.. 2021. 7. 28.
[Swift Algorithm] ๊ฐœ์ˆ˜ ์„ธ๊ธฐ BOJ #10807 ๋ฌธ์ œ ์„ค๋ช… ์ด N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ •์ˆ˜ v๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์ •์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด์ ธ์žˆ๋‹ค. ์…‹์งธ ์ค„์—๋Š” ์ฐพ์œผ๋ ค๊ณ  ํ•˜๋Š” ์ •์ˆ˜ v๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์ •์ˆ˜์™€ v๋Š” -100๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉฐ, 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ N๊ฐœ์˜ ์ •์ˆ˜ ์ค‘์— v๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ์ถœ๋ ฅํ•œ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ์ œ ์ž…๋ ฅ1 11 1 4 1 2 4 2 4 2 3 4 4 2 ์ถœ๋ ฅ1 3 ์ž…๋ ฅ2 11 1 4 1 2 4 2 4 2 3 4 4 5 ์ถœ๋ ฅ2 0 ๋‚ด ๋ฌธ์ œ ํ’€์ด import Foundation let count = readLine()! let nums = readLine()!.components(.. 2021. 7. 28.