๋ชฉ๋กํ”„๋กœ๊ทธ๋ž˜๋ฐ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด Swift (60)

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

[๋ฐฑ์ค€ 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..