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

3๏ธโƒฃ Swift130

[Swift Algorithm] ์ˆ˜ ๋ฌถ๊ธฐ BOJ #1744 ๋ฌธ์ œ ์„ค๋ช… ๊ธธ์ด๊ฐ€ N์ธ ์ˆ˜์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ทธ ์ˆ˜์—ด์˜ ํ•ฉ์„ ๊ตฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ํ•˜์ง€๋งŒ, ๊ทธ๋ƒฅ ๊ทธ ์ˆ˜์—ด์˜ ํ•ฉ์„ ๋ชจ๋‘ ๋”ํ•ด์„œ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ˆ˜์—ด์˜ ๋‘ ์ˆ˜๋ฅผ ๋ฌถ์œผ๋ ค๊ณ  ํ•œ๋‹ค. ์–ด๋–ค ์ˆ˜๋ฅผ ๋ฌถ์œผ๋ ค๊ณ  ํ•  ๋•Œ, ์œ„์น˜์— ์ƒ๊ด€์—†์ด ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ๊ฐ™์€ ์œ„์น˜์— ์žˆ๋Š” ์ˆ˜(์ž๊ธฐ ์ž์‹ )๋ฅผ ๋ฌถ๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ์ˆ˜๋ฅผ ๋ฌถ๊ฒŒ ๋˜๋ฉด, ์ˆ˜์—ด์˜ ํ•ฉ์„ ๊ตฌํ•  ๋•Œ ๋ฌถ์€ ์ˆ˜๋Š” ์„œ๋กœ ๊ณฑํ•œ ํ›„์— ๋”ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ์–ด๋–ค ์ˆ˜์—ด์ด {0, 1, 2, 4, 3, 5}์ผ ๋•Œ, ๊ทธ๋ƒฅ ์ด ์ˆ˜์—ด์˜ ํ•ฉ์„ ๊ตฌํ•˜๋ฉด 0+1+2+4+3+5 = 15์ด๋‹ค. ํ•˜์ง€๋งŒ, 2์™€ 3์„ ๋ฌถ๊ณ , 4์™€ 5๋ฅผ ๋ฌถ๊ฒŒ ๋˜๋ฉด, 0+1+(2*3)+(4*5) = 27์ด ๋˜์–ด ์ตœ๋Œ€๊ฐ€ ๋œ๋‹ค. ์ˆ˜์—ด์˜ ๋ชจ๋“  ์ˆ˜๋Š” ๋‹จ ํ•œ๋ฒˆ๋งŒ ๋ฌถ๊ฑฐ๋‚˜, ์•„๋‹ˆ๋ฉด ๋ฌถ์ง€ ์•Š์•„์•ผํ•œ๋‹ค. ์ˆ˜์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ,.. 2021. 8. 19.
[Swift Algorithm] ๊ฒŒ์ž„์„ ๋งŒ๋“  ๋™์ค€์ด BOJ #2847 ๋ฌธ์ œ ์„ค๋ช… ํ•™๊ต์—์„œ ๊ทธ๋ž˜ํ”ฝ์Šค ์ˆ˜์—…์„ ๋“ค์€ ๋™์ค€์ด๋Š” ์ˆ˜์—…์‹œ๊ฐ„์— ๋“ค์€ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์Šค๋งˆํŠธํฐ ๊ฒŒ์ž„์„ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ฒŒ์ž„์—๋Š” ์ด N๊ฐœ์˜ ๋ ˆ๋ฒจ์ด ์žˆ๊ณ , ๊ฐ ๋ ˆ๋ฒจ์„ ํด๋ฆฌ์–ดํ•  ๋•Œ ๋งˆ๋‹ค ์ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ํ”Œ๋ ˆ์ด์–ด์˜ ์ ์ˆ˜๋Š” ๋ ˆ๋ฒจ์„ ํด๋ฆฌ์–ดํ•˜๋ฉด์„œ ์–ป์€ ์ ์ˆ˜์˜ ํ•ฉ์œผ๋กœ, ์ด ์ ์ˆ˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์˜จ๋ผ์ธ ์ˆœ์œ„๋ฅผ ๋งค๊ธด๋‹ค. ๋™์ค€์ด๋Š” ๋ ˆ๋ฒจ์„ ๋‚œ์ด๋„ ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์‹ค์ˆ˜๋กœ ์‰ฌ์šด ๋ ˆ๋ฒจ์ด ์–ด๋ ค์šด ๋ ˆ๋ฒจ๋ณด๋‹ค ์ ์ˆ˜๋ฅผ ๋งŽ์ด ๋ฐ›๋Š” ๊ฒฝ์šฐ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋™์ค€์ด๋Š” ํŠน์ • ๋ ˆ๋ฒจ์˜ ์ ์ˆ˜๋ฅผ ๊ฐ์†Œ์‹œํ‚ค๋ ค๊ณ  ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒํ•ด์„œ ๊ฐ ๋ ˆ๋ฒจ์„ ํด๋ฆฌ์–ดํ•  ๋•Œ ์ฃผ๋Š” ์ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๊ฐ ๋ ˆ๋ฒจ์„ ํด๋ฆฌ์–ดํ•  ๋•Œ ์–ป๋Š” ์ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ช‡ ๋ฒˆ ๊ฐ์†Œ์‹œํ‚ค๋ฉด ๋˜๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ ์ˆ˜๋Š” ํ•ญ์ƒ ์–‘์ˆ˜์ด์–ด์•ผ ํ•˜๊ณ , 1๋งŒํผ ๊ฐ์†Œ์‹œํ‚ค๋Š” .. 2021. 8. 19.
[Swift Algorithm] ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ BOJ #1541 ๋ฌธ์ œ ์„ค๋ช… ์„ธ์ค€์ด๋Š” ์–‘์ˆ˜์™€ +, -, ๊ทธ๋ฆฌ๊ณ  ๊ด„ํ˜ธ๋ฅผ ๊ฐ€์ง€๊ณ  ์‹์„ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ์„ธ์ค€์ด๋Š” ๊ด„ํ˜ธ๋ฅผ ๋ชจ๋‘ ์ง€์› ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ์„ธ์ค€์ด๋Š” ๊ด„ํ˜ธ๋ฅผ ์ ์ ˆํžˆ ์ณ์„œ ์ด ์‹์˜ ๊ฐ’์„ ์ตœ์†Œ๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๊ด„ํ˜ธ๋ฅผ ์ ์ ˆํžˆ ์ณ์„œ ์ด ์‹์˜ ๊ฐ’์„ ์ตœ์†Œ๋กœ ๋งŒ๋“œ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์‹์ด ์ฃผ์–ด์ง„๋‹ค. ์‹์€ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ  ‘-’๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ฐ€์žฅ ์ฒ˜์Œ๊ณผ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋Š” ์ˆซ์ž์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฐ์†ํ•ด์„œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์—ฐ์‚ฐ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ , 5์ž๋ฆฌ๋ณด๋‹ค ๋งŽ์ด ์—ฐ์†๋˜๋Š” ์ˆซ์ž๋Š” ์—†๋‹ค. ์ˆ˜๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์‹์˜ ๊ธธ์ด๋Š” 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ •๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ์ œ ์ž…๋ ฅ 55-50+40 ์ถœ๋ ฅ -35 ๋‚ด ๋ฌธ์ œ ํ’€์ด import Foundation v.. 2021. 8. 18.
[Swift Algorithm] ATM BOJ #11399 ๋ฌธ์ œ ์„ค๋ช… ์ธํ•˜์€ํ–‰์—๋Š” ATM์ด 1๋Œ€๋ฐ–์— ์—†๋‹ค. ์ง€๊ธˆ ์ด ATM์•ž์— N๋ช…์˜ ์‚ฌ๋žŒ๋“ค์ด ์ค„์„ ์„œ์žˆ๋‹ค. ์‚ฌ๋žŒ์€ 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ์œผ๋ฉฐ, i๋ฒˆ ์‚ฌ๋žŒ์ด ๋ˆ์„ ์ธ์ถœํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ Pi๋ถ„์ด๋‹ค. ์‚ฌ๋žŒ๋“ค์ด ์ค„์„ ์„œ๋Š” ์ˆœ์„œ์— ๋”ฐ๋ผ์„œ, ๋ˆ์„ ์ธ์ถœํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์‹œ๊ฐ„์˜ ํ•ฉ์ด ๋‹ฌ๋ผ์ง€๊ฒŒ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด 5๋ช…์ด ์žˆ๊ณ , P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 ์ธ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž. [1, 2, 3, 4, 5] ์ˆœ์„œ๋กœ ์ค„์„ ์„ ๋‹ค๋ฉด, 1๋ฒˆ ์‚ฌ๋žŒ์€ 3๋ถ„๋งŒ์— ๋ˆ์„ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋‹ค. 2๋ฒˆ ์‚ฌ๋žŒ์€ 1๋ฒˆ ์‚ฌ๋žŒ์ด ๋ˆ์„ ๋ฝ‘์„ ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, 3+1 = 4๋ถ„์ด ๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค. 3๋ฒˆ ์‚ฌ๋žŒ์€ 1๋ฒˆ, 2๋ฒˆ ์‚ฌ๋žŒ์ด ๋ˆ์„ ๋ฝ‘์„ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ด 3+1+4 = 8๋ถ„์ด ํ•„์š”ํ•˜๊ฒŒ.. 2021. 8. 18.
[Swift Algorithm] ๋ณด๋ฌผ BOJ #1026 ๋ฌธ์ œ ์„ค๋ช… ์˜›๋‚  ์˜›์ ์— ์ˆ˜ํ•™์ด ํ•ญ์ƒ ํฐ ๊ณจ์นซ๊ฑฐ๋ฆฌ์˜€๋˜ ๋‚˜๋ผ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ด ๋‚˜๋ผ์˜ ๊ตญ์™• ๊น€์ง€๋ฏผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋‚ด๊ณ  ํฐ ์ƒ๊ธˆ์„ ๊ฑธ์—ˆ๋‹ค. ๊ธธ์ด๊ฐ€ N์ธ ์ •์ˆ˜ ๋ฐฐ์—ด A์™€ B๊ฐ€ ์žˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•จ์ˆ˜ S๋ฅผ ์ •์˜ํ•˜์ž. S = A[0]×B[0] + ... + A[N-1]×B[N-1] S์˜ ๊ฐ’์„ ๊ฐ€์žฅ ์ž‘๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด A์˜ ์ˆ˜๋ฅผ ์žฌ๋ฐฐ์—ดํ•˜์ž. ๋‹จ, B์— ์žˆ๋Š” ์ˆ˜๋Š” ์žฌ๋ฐฐ์—ดํ•˜๋ฉด ์•ˆ ๋œ๋‹ค. S์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” A์— ์žˆ๋Š” N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง€๊ณ , ์…‹์งธ ์ค„์—๋Š” B์— ์žˆ๋Š” ์ˆ˜๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. N์€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๊ณ , A์™€ B์˜ ๊ฐ ์›์†Œ๋Š” 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜์ด๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— S์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ž…์ถœ๋ ฅ.. 2021. 8. 18.