๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (454)

Bibi's DevLog ๐Ÿค“๐ŸŽ

[๋ฐฑ์ค€ 2476] ์ฃผ์‚ฌ์œ„ ๊ฒŒ์ž„ (Swift)

2476๋ฒˆ: ์ฃผ์‚ฌ์œ„ ๊ฒŒ์ž„ ์„ธ ์ฃผ์‚ฌ์œ„์˜ ๋ˆˆ ์ค‘์— ๊ฐ™์€ ๋ˆˆ์ด ๋ฌด์—‡์ธ์ง€ ์ฐพ์•„๋‚ด๋Š” ๊ฒƒ์ด ๊ด€๊ฑด์ด์—ˆ๋˜ ๋ฌธ์ œ. 3๊ฐœ๊ฐ€ ๊ฐ™์„ ๋•Œ, ๋ชจ๋‘ ๋‹ค๋ฅผ ๋•Œ๋Š” ์กฐ๊ฑด๋ฌธ์œผ๋กœ ์–ด๋ ต์ง€ ์•Š๊ฒŒ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ ๋ฌธ์ œ๋Š” 2๊ฐœ๊ฐ€ ๊ฐ™์„ ๋•Œ์ธ๋ฐ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์žˆ์„ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๋ฐฉ๋ฒ•์€ ์ฒซ ๋ฒˆ์งธ ์›์†Œ๋ฅผ ๊ณจ๋ผ ๊ทธ ์›์†Œ์™€ ๊ฐ™์€ ์›์†Œ์˜ ๊ฐฏ์ˆ˜๊ฐ€ 2๊ฐœ์ด๋ฉด ์ฒซ ๋ฒˆ์งธ ์›์†Œ๋ฅผ, ๊ทธ๋ ‡์ œ ์•Š์œผ๋ฉด ๋งˆ์ง€๋ง‰ ์›์†Œ๋ฅผ ๊ฐ™์€ ๋ˆˆ์œผ๋กœ ์ •ํ–ˆ๋‹ค. 2๊ฐœ์˜ ๋ˆˆ์ด ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค : aab, aba, baa ์ฒซ ๋ฒˆ์งธ ์›์†Œ๊ฐ€ 2๊ฐœ์˜ ๊ฐ™์€ ๋ˆˆ์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด(aab๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด), ๋‚˜๋จธ์ง€ ๊ฒฝ์šฐ๋ฅผ ๋ณด์•˜์„ ๋•Œ ๋ฐ˜๋“œ์‹œ ์„ธ ๋ฒˆ์งธ ์›์†Œ๊ฐ€ 2๊ฐœ์˜ ๊ฐ™์€ ๋ˆˆ์— ํ•ด๋‹น๋˜๊ฒŒ ๋œ๋‹ค (aba, baa) ๊ฐ€์žฅ ํฐ ์ƒ๊ธˆ์„ ์ฐพ๋Š” ๊ฒƒ์€ ๋ฐ˜๋ณต๋ฌธ ๋ฐ”๊นฅ์— ์ƒ๊ธˆ ๋ณ€์ˆ˜๋ฅผ ๋‘๊ณ , ์ด๋ฒˆ ํšŒ์ฐจ์— ๊ณ„์‚ฐํ•œ ์ƒ๊ธˆ์ด ๊ธฐ์กด ..

[๋ฐฑ์ค€ 2309] ์ผ๊ณฑ ๋‚œ์Ÿ์ด

2309๋ฒˆ: ์ผ๊ณฑ ๋‚œ์Ÿ์ด 2309๋ฒˆ: ์ผ๊ณฑ ๋‚œ์Ÿ์ด ์•„ํ™‰ ๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๋‚œ์Ÿ์ด๋“ค์˜ ํ‚ค๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ํ‚ค๋Š” 100์„ ๋„˜์ง€ ์•Š๋Š” ์ž์—ฐ์ˆ˜์ด๋ฉฐ, ์•„ํ™‰ ๋‚œ์Ÿ์ด์˜ ํ‚ค๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๋ฉฐ, ๊ฐ€๋Šฅํ•œ ์ •๋‹ต์ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€์ธ ๊ฒฝ์šฐ์—๋Š” ์•„๋ฌด๊ฑฐ๋‚˜ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net 3040๋ฒˆ: ๋ฐฑ์„ค ๊ณต์ฃผ์™€ ์ผ๊ณฑ ๋‚œ์Ÿ์ด ๋ฌธ์ œ์™€ ๋™์ผํ•˜๋‹ค. ์ด ๋ฌธ์ œ๋Š” 2์‹œ๊ฐ„์ •๋„ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ์Šค์Šค๋กœ ํ’€๊ธฐ ์–ด๋ ค์›Œ ๊ตฌ๊ธ€๋งํ•ด ๋ณด์•˜๋‹ค. ์•„๋ž˜๋Š” ์ฐธ๊ณ ํ•œ ๋งํฌ๋“ค. (Swift) ๋ฐฑ์ค€ 2309 ์ผ๊ณฑ ๋‚œ์Ÿ์ด [์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„] ์ˆœ์—ด(Permutation)๊ณผ ์กฐํ•ฉ(Combination) ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•ด์„ค ์šฐ์„ ์€, ๋ฌธ์ œ ๊ทธ๋Œ€๋กœ ํ‚ค์˜ ํ•ฉ์ด 100์ด ๋˜๋Š” 7๋ช…์„ ์ฐพ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, ํ‚ค์˜ ํ•ฉ์ด ์ „์ฒดํ•ฉ - 100 ์ด ๋˜๋Š” ๋‚˜๋จธ์ง€ 2๋ช…์„ ์ฐพ๋Š”๋‹ค๋Š” ์•„์ด๋””์–ด๊ฐ€ ํ•„์š”ํ–ˆ๋‹ค. ์ฐพ์•„์•ผ ํ•  ๋Œ€..

[๋ฐฑ์ค€ 2355] ์‹œ๊ทธ๋งˆ

2355๋ฒˆ: ์‹œ๊ทธ๋งˆ ์‹œ๊ทธ๋งˆ ๊ณต์‹์„ ํ™œ์šฉํ•˜๋Š” ๋ฌธ์ œ. ๊ฐ€์šฐ์Šค ๋ง์…ˆ ๊ณต์‹, ์‹œ๊ทธ๋งˆ (∑) ์ฒ˜์Œ์—๋Š” ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ํ’€์—ˆ๋Š”๋ฐ ๋„ˆ๋ฌด ์‰ฌ์›Œ์„œ ์ด์ƒํ•˜๋‹ค ํ–ˆ๋”๋‹ˆ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์‹œ๊ฐ„์ œํ•œ์— ๊ฑธ๋ฆฌ๋ฉด ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค ๊ฐ€ ์•„๋‹Œ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๋ชจ๋ฅด๊ฒ ์–ด์„œ ๊ฒ€์ƒ‰์„ ํ–ˆ๊ณ  ์‹œ๊ทธ๋งˆ ๊ณต์‹์„ ํ™œ์šฉํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. (๊ฐ€์šฐ์Šค ๋ง์…ˆ์ด๋ผ๊ณ  ๊ฒ€์ƒ‰ํ•ด๋„ ๋‚˜์˜จ๋‹ค) ๊ฐ€์šฐ์Šค ๋ง์…ˆ ๊ณต์‹ n < m ์ผ ๋•Œ, n๋ถ€ํ„ฐ m๊นŒ์ง€์˜ ์ •์ˆ˜๋ฅผ ๋ชจ๋‘ ๋”ํ•œ ๊ฐ’์€ (n + m) * (m - n + 1) / 2 ์‹œ๊ทธ๋งˆ ๊ณต์‹ n < m ์ผ ๋•Œ, n๋ถ€ํ„ฐ m๊นŒ์ง€์˜ ์ •์ˆ˜๋ฅผ ๋ชจ๋‘ ๋”ํ•œ ๊ฐ’์€ 1๋ถ€ํ„ฐ m๊นŒ์ง€์˜ ํ•ฉ - 1๋ถ€ํ„ฐ n-1๊นŒ์ง€์˜ ํ•ฉ๊ณผ ๊ฐ™๋‹ค (1 + … + m) - (1 + … + n-1) = [m(m + 1) / 2] - [n-1(n-1 + 1) / 2] = [m(m + 1) ..

[๋ฐฑ์ค€ 1864] ๋ฌธ์–ด ์ˆซ์ž

1864๋ฒˆ: ๋ฌธ์–ด ์ˆซ์ž ๋ถ„์„ ๊ฐ ์ž๋ฆฟ์ˆ˜๋Œ€๋กœ 8์˜ n์Šน์„ ๊ณฑํ•œ ๊ฐ’์„ ๋ชจ๋‘ ๋”ํ•œ๋‹ค. ์ฒ˜์Œ์—” ๊ธฐํ˜ธ๋ฅผ ์ฃผ์–ด์ง„ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค swift์—์„œ ์ œ๊ณตํ•˜๋Š” radix๋ฅผ ํ™œ์šฉํ•ด ๋ณ€ํ™˜ํ•˜๋ ค ํ–ˆ์ง€๋งŒ -1์˜ ์กด์žฌ ๋•Œ๋ฌธ์— ์–ด์ฉ” ์ˆ˜ ์—†์ด ๊ฐ ์ž๋ฆฟ์ˆ˜๋Œ€๋กœ ๊ณ„์‚ฐํ•ด์•ผ ํ–ˆ์Œ n์˜ ์ตœ๋Œ“๊ฐ’(maxPow)์€ ์ž…๋ ฅ ์ž๋ฆฟ์ˆ˜ - 1 ์ด๋‹ค ์˜ˆ๋ฅผ ๋“ค์–ด 3์ž๋ฆฌ์˜ 8์ง„์ˆ˜๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ๊ฐ ์ž๋ฆฟ์ˆ˜์— 8์˜ 2์Šน, 8์˜ 1์Šน, 8์˜ 0์Šน์„ ๊ณฑํ•  ๊ฒƒ์ž„ pow() ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ ์ค‘์—์„œ ๋ฆฌํ„ดํƒ€์ž…์ด decimal์„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•œ๋‹ค. - Int๋กœ์˜ ๋ณ€ํ™˜์ด ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ.. ๋‚˜๋Š” `func pow(_ lhs: Float, _ rhs: Float) -> Float` ์‚ฌ์šฉ ํ’€์ด func q1864() { // ๋ฌธ์–ด ์ˆซ์ž while true { let input = read..

[๋ฐฑ์ค€ 1834] ๋‚˜๋จธ์ง€์™€ ๋ชซ์ด ๊ฐ™์€ ์ˆ˜

1834๋ฒˆ: ๋‚˜๋จธ์ง€์™€ ๋ชซ์ด ๊ฐ™์€ ์ˆ˜ N์ด ์ž…๋ ฅ๋˜์—ˆ์„ ๋•Œ, ๋‚˜๋จธ์ง€์™€ ๋ชซ์ด ๊ฐ™์€ ์ˆ˜๋ฅผ ๋ชจ๋‘ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ. 3์ด ์ž…๋ ฅ๋˜๋ฉด 1 / 3 : ๋ชซ 0, ๋‚˜๋จธ์ง€ 1 2 / 3 : ๋ชซ 0, ๋‚˜๋จธ์ง€ 2 3 / 3 : ๋ชซ 1, ๋‚˜๋จธ์ง€ 0 4 / 3 : ๋ชซ 1, ๋‚˜๋จธ์ง€ 1 (โœ”๏ธ) 5 / 3 : ๋ชซ 1, ๋‚˜๋จธ์ง€ 2 6 / 3 : ๋ชซ 2, ๋‚˜๋จธ์ง€ 0 7 / 3 : ๋ชซ 2, ๋‚˜๋จธ์ง€ 1 8 / 3 : ๋ชซ 2, ๋‚˜๋จธ์ง€ 2 (โœ”๏ธ) 9 / 3 : ๋ชซ 3, ๋‚˜๋จธ์ง€ 1 ๋‚˜๋จธ์ง€์™€ ๋ชซ์ด ๊ฐ™์€ ์ˆ˜๋Š” 4, 8 ์ด๋ฉฐ, ๋‹ต์€ ์ด ์ˆ˜๋“ค์„ ํ•ฉํ•œ 12์ด๋‹ค. ๐Ÿค” ๋Œ€์ƒ ์ž์—ฐ์ˆ˜์— ์ œํ•œ๋„ ์—†๋Š”๋ฐ ๋‹ต์ด ๋‚˜์˜ฌ๋•Œ๊นŒ์ง€ ๋ฌด์กฐ๊ฑด ๋‚˜๋ˆ ์•ผ ํ•˜๋‚˜? ์•„๋‹ˆ๋‹ค. ์œ„ ์˜ˆ์ œ์˜ ํŒจํ„ด์„ ๋ณด๋ฉด “๋‚˜๋จธ์ง€๋Š” ํ•ญ์ƒ 0 ๋ถ€ํ„ฐ N-1๊นŒ์ง€"์˜ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค. ๋˜, ๋‚˜๋จธ์ง€ == ๋ชซ ์ด์–ด์•ผ ํ•˜๋Š”๋ฐ ๋‚˜๋จธ์ง€์˜..

[๋ฐฑ์ค€ 1731] ์ถ”๋ก 

1731๋ฒˆ: ์ถ”๋ก  ์ ‘๊ทผ ๋“ฑ์ฐจ์ธ์ง€ ๋“ฑ๋น„์ธ์ง€ ๋จผ์ € ๊ตฌํ•ด์•ผ ํ•œ๋‹ค (2๋ฒˆ์งธ ์š”์†Œ - 1๋ฒˆ์งธ ์š”์†Œ) ์˜ ๊ฐ’ == (3๋ฒˆ์งธ ์š”์†Œ - 2๋ฒˆ์งธ ์š”์†Œ) ์˜ ๊ฐ’ ์ด๋ฉด ๋“ฑ์ฐจ์ˆ˜์—ด (2๋ฒˆ์งธ ์š”์†Œ / 1๋ฒˆ์งธ ์š”์†Œ) ์˜ ๊ฐ’ == (3๋ฒˆ์งธ ์š”์†Œ / 2๋ฒˆ์งธ ์š”์†Œ) ์˜ ๊ฐ’ ์ด๋ฉด ๋“ฑ๋น„์ˆ˜์—ด ๋งจ ๋ ์š”์†Œ์˜ ๋‹ค์Œ ์ˆ˜๋ฅผ ๊ตฌํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ž…๋ ฅ์„ ๋๊นŒ์ง€ ๋ฐ›์•„์•ผ ํ•œ๋‹ค ๋“ฑ์ฐจ์ˆ˜์—ด์ด๋ผ๋ฉด ๋งจ ๋ ์š”์†Œ์— ๋“ฑ์ฐจ๋ฅผ ๋”ํ•œ ๊ฐ’์„ ์ถœ๋ ฅ ํ›„ ๋ฆฌํ„ด ๋“ฑ๋น„์ˆ˜์—ด์ด๋ผ๋ฉด ๋งจ ๋ ์š”์†Œ์— ๋“ฑ๋น„๋ฅผ ๊ณฑํ•œ ๊ฐ’์„ ์ถœ๋ ฅ ํ›„ ๋ฆฌํ„ด func q1731() { // ์ถ”๋ก  let inputCount = Int(readLine()!)! var inputArr: [Int] = [] for _ in 1...inputCount { let input = Int(readLine()!)! inputArr.appe..

About the App Launch Sequence ์•ฑ ์‹คํ–‰ ์‹œํ€€์Šค์— ๋Œ€ํ•˜์—ฌ

Learn the order in which the system executes your code at app launch time. Apple Developer Documentation ์•ฑ ์‹คํ–‰ ์‹œํ€€์Šค์— ๋Œ€ํ•˜์—ฌ ์•ฑ์˜ ์‹คํ–‰ ์‹œ์ ์— ์‹œ์Šคํ…œ์ด ๋‹น์‹ ์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ˆœ์„œ์— ๋Œ€ํ•ด ๋ฐฐ์›๋‹ˆ๋‹ค. ๊ฐœ์š” ์•ฑ์˜ ์‹คํ–‰์€ ๋ณต์žกํ•œ ๋‹จ๊ณ„์˜ ์ˆœ์„œ(์‹œํ€€์Šค)๋ฅผ ํฌํ•จํ•˜๋ฉฐ, ๊ทธ ๋Œ€๋ถ€๋ถ„์€ ์‹œ์Šคํ…œ์ด ์ž๋™์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์‹œํ€€์Šค ์ค‘์—๋Š”, UIKit์€ ์•ฑ์˜ app delegate์˜ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋‹น์‹ ์ด ์‚ฌ์šฉ์ž ์ƒํ˜ธ์ž‘์šฉ์„ ์ค€๋น„ํ•˜๊ณ , ์•ฑ์ด ์š”๊ตฌํ•˜๋Š” ํŠน์ • ์ž‘์—…๋“ค์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ๊ทธ๋ฆผ์€ ์•ฑ์ด ์‹คํ–‰๋  ๋•Œ ๋ถ€ํ„ฐ ์‹œํ€€์Šค๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ ๊นŒ์ง€, ์‹คํ–‰ ์‹œํ€€์Šค์˜ ๊ฐœ๋ณ„์ ์ธ ๋‹จ๊ณ„๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค: ์‚ฌ์šฉ์ž ๋˜๋Š” ์‹œ์Šคํ…œ์ด ๋‹น์‹ ์˜ ์•ฑ์„ ์‹ค..