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

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

[๋ฐฑ์ค€ 6359] ๋งŒ์ทจํ•œ ์ƒ๋ฒ” (Swift)

6359๋ฒˆ: ๋งŒ์ทจํ•œ ์ƒ๋ฒ” ์ค‘์ฒฉ ๋ฐ˜๋ณต๋ฌธ์„ ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๊ณ  ์ž˜ ์‚ฌ์šฉํ•˜๋ฉด ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋‹ค. n๊ฐœ์˜ ๋ฐฉ์ด ์žˆ๋Š” ๊ฐ์˜ฅ์ด ์ฃผ์–ด์ง„๋‹ค ์ฒ˜์Œ์—” ๋‹น์—ฐํžˆ ๋ชจ๋‘ ์ž ๊ฒจ ์žˆ๋‹ค. ๋งค k๋ฒˆ์งธ ์‹œํ–‰๋งˆ๋‹ค, k์˜ ๋ฐฐ์ˆ˜์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ด ์—ด๋ ค์žˆ๋‹ค๋ฉด ๋‹ซ๊ณ , ๋‹ซํ˜€ ์žˆ๋‹ค๋ฉด ์—ฐ๋‹ค. n๋ฒˆ์งธ ์‹œํ–‰๊นŒ์ง€ ๋ฐ˜๋ณต ํ›„ ์—ด๋ ค ์žˆ๋Š” ๋ฌธ์˜ ๊ฐฏ์ˆ˜๋ฅผ ์„ธ๋ฉด ๋œ๋‹ค. 5 โ‰ค n โ‰ค 100 ์ด๋ฏ€๋กœ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ๋„ ์ถฉ๋ถ„ํžˆ ํ’€ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด n=3 ์ด๋ผ ๊ฐ์˜ฅ์— ๋ฐฉ์ด 3๊ฐœ์ผ ๋•Œ, (false, false, false) 1๋ฒˆ์งธ ์‹œํ–‰์—๋Š” 1์˜ ๋ฐฐ์ˆ˜์˜ ๋ฌธ(1, 2, 3..๋ฒˆ์งธ ๋ฌธ)์ด ์—ด๋ ค์žˆ๋‹ค๋ฉด ๋‹ซ๊ณ , ๋‹ซํ˜€ ์žˆ๋‹ค๋ฉด ์—ฐ๋‹ค. (๋งจ ์ฒ˜์Œ์—๋Š” ๋ชจ๋‘ ์ž ๊ฒจ ์žˆ์œผ๋ฏ€๋กœ, ๋ชจ๋‘ ์—ฐ๋‹ค) (true, true, true) 2๋ฒˆ์งธ ์‹œํ–‰์—๋Š” 2์˜ ๋ฐฐ์ˆ˜์˜ ๋ฌธ์ด ์—ด๋ ค์žˆ๋‹ค๋ฉด ๋‹ซ๊ณ , ๋‹ซํ˜€ ์žˆ๋‹ค๋ฉด ์—ฐ๋‹ค. (true..

[๋ฐฑ์ค€ 5988] ํ™€์ˆ˜์ผ๊นŒ ์ง์ˆ˜์ผ๊นŒ (Swift)

5988๋ฒˆ: ํ™€์ˆ˜์ผ๊นŒ ์ง์ˆ˜์ผ๊นŒ ์ž…๋ ฅ๋œ ์ˆซ์ž๊ฐ€ ํ™€์ˆ˜์ธ์ง€ ์ง์ˆ˜์ธ์ง€ ํ™•์ธํ•ด ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ. ์—ฌ๊ธฐ๊นŒ์ง€ ๋ณด๋ฉด ๋ธŒ๋ก ์ฆˆ5๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์€๋ฐ ๋ธŒ๋ก ์ฆˆ3์œผ๋กœ ๋˜์–ด ์žˆ๋‹ค. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž˜ ๋˜๋Š”๋ฐ ์ž๊พธ ํ‹€๋ ธ๋‹ค๊ณ  ํ•˜๊ธธ๋ž˜ ๊ฒฐ๊ตญ ๊ตฌ๊ธ€๋งํ–ˆ๋”๋‹ˆ ์ž…๋ ฅ ์ •์ˆ˜ ๋ฒ”์œ„๋ฅผ ํ™•์ธํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค.ใ…  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋”ฐ๋ผ ๋งค์šฐ ํฐ ์ˆ˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ž๋ฃŒํ˜•์ด ์žˆ์–ด ๊ทธ๊ฑธ ์‚ฌ์šฉํ•ด์„œ ํ‘ผ ์‚ฌ๋žŒ๋„ ์žˆ์ง€๋งŒ, ์ˆ˜๊ฐ€ ํฌ๊ธด ํ•œ๋ฐ ์–ด์ฐจํ”ผ ๋งจ ๋ ์ž๋ฆฌ๋งŒ ๊ฐ€์ง€๊ณ ๋„ ํ™€์ง ํŒ๋ณ„์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ž์—ด๋กœ ์ˆซ์ž๋ฅผ ๋ฐ›์•„ ๋ ๋ฌธ์ž๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ํ’€์ด let count = Int(readLine()!)! (1...count).forEach { _ in let numStr = readLine()! let lastNum = numStr[numStr.index(before: nu..

[๋ฐฑ์ค€ 6322] ์ง๊ฐ ์‚ผ๊ฐํ˜•์˜ ๋‘ ๋ณ€ (Swift)

6322๋ฒˆ: ์ง๊ฐ ์‚ผ๊ฐํ˜•์˜ ๋‘ ๋ณ€ a์ œ๊ณฑ + b์ œ๊ณฑ = c์ œ๊ณฑ ์„ ๋งŒ์กฑํ•˜๋Š” ์–‘์ˆ˜ a, b, c ๊ตฌํ•˜๊ธฐ abc ์ค‘ 2๊ฐœ๋Š” ์ž์—ฐ์ˆ˜๋กœ ์ฃผ์–ด์ง ๋ฏธ์ง€์ˆ˜๊ฐ€ a๋ผ๋ฉด a = ์ œ๊ณฑ๊ทผ(c์ œ๊ณฑ - b์ œ๊ณฑ) ๋ฏธ์ง€์ˆ˜๊ฐ€ b๋ผ๋ฉด b = ์ œ๊ณฑ๊ทผ(c์ œ๊ณฑ - a์ œ๊ณฑ) ๋ฏธ์ง€์ˆ˜๊ฐ€ c๋ผ๋ฉด c = ์ œ๊ณฑ๊ทผ(a์ œ๊ณฑ + b์ œ๊ณฑ) ์ œ๊ณฑ๊ทผ ์•ˆ์˜ ์ˆ˜๊ฐ€ 0๋ณด๋‹ค โ€œ์ž‘๊ฑฐ๋‚˜โ€(์Œ์ˆ˜), 0์ผ ๋•Œ ์ง๊ฐ์‚ผ๊ฐํ˜•์„ ๋งŒ๋“ค ์ˆ˜ ์—†๋‹ค. ์Œ์ˆ˜ ์กฐ๊ฑด ๋ฟ ์•„๋‹ˆ๋ผ 0์ด ๋˜๋Š” ์กฐ๊ฑด๋„ ๋”ฐ์ ธ์•ผ ํ•จ์— ์œ ์˜ Swift์˜ sqrt() ํ•จ์ˆ˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์Œ์ˆ˜์ผ ๋•Œ nan์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. nan์€ type(of:) ๋กœ ํŒ๋ณ„ํ–ˆ์„ ๋• Double์ด์ง€๋งŒ, == ๋กœ ํŒ๋ณ„ํ•  ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ์ผ๋‹จ sqrt() ๋‚ด๋ถ€์— ๋„ฃ์„ ์ˆ˜๊ฐ€ 0๋ณด๋‹ค ํฐ์ง€ ํŒ๋ณ„ํ•ด์„œ ํ’€์—ˆ๋‹ค. ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฐพ์•„๋ณด๋‹ˆ Double.nan ๊ณผ ๊ฐ™์ด ์‚ฌ..

[๋ฐฑ์ค€ 5613] ๊ณ„์‚ฐ๊ธฐ ํ”„๋กœ๊ทธ๋žจ

5613๋ฒˆ: ๊ณ„์‚ฐ๊ธฐ ํ”„๋กœ๊ทธ๋žจ ์ฒซ ์ž…๋ ฅ์€ ๊ทธ๋ƒฅ ์ €์žฅ๋˜๊ณ , ์—ฐ์‚ฐ์ž๋Š” ์ž…๋ ฅ๋งˆ๋‹ค ์ €์žฅํ•˜๊ณ , ๊ทธ ๋‹ค์Œ๋ถ€ํ„ฐ ์ˆซ์ž๊ฐ€ ๋“ค์–ด์˜ฌ ๋•Œ ๋งˆ๋‹ค ๊ฒฐ๊ณผ๊ฐ’์ด ๋ฐ”๋€Œ์–ด์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 1 + 1 ์„ ๊ณ„์‚ฐํ•  ๋•Œ 1์€ ์ฒซ ์ž…๋ ฅ์ด๋ฏ€๋กœ ๊ฒฐ๊ณผ๊ฐ’์— ๊ทธ๋ƒฅ ์ €์žฅ ์€ ์—ฐ์‚ฐ์ž์ด๋ฏ€๋กœ ์—ฐ์‚ฐ์ž๋กœ ์ €์žฅ 1์ด ๋“ค์–ด์˜ค๋ฉด ๊ธฐ์กด ๊ฒฐ๊ณผ๊ฐ’์— ์—ฐ์‚ฐ์ž๋ฅผ ํ™œ์šฉํ•ด 1์„ ๊ณ„์‚ฐํ•ด์•ผ ํ•จ โ†’ ๊ฒฐ๊ณผ๊ฐ’ ๊ฐฑ์‹  ํ’€์ด var currentResult = 0 var currentOperator = "" while let input = readLine() { guard let intInput = Int(input) else { // ์ž…๋ ฅ์ด ์—ฐ์‚ฐ์ž์ธ์ง€ ์ˆซ์ž์ธ์ง€ ํŒ๋‹จ if input == "=" { break } else { currentOperator = input continue } } swi..

[๋ฐฑ์ค€ 5032] ํƒ„์‚ฐ ์Œ๋ฃŒ (Swift)

5032๋ฒˆ: ํƒ„์‚ฐ ์Œ๋ฃŒ ์˜ˆ์ œ๋ฅผ ๋ณด๊ณ  โ€œ9 0 3 ์ธ๋ฐ ์–ด๋–ป๊ฒŒ 3์ด ์•„๋‹ˆ๋ผ 4๊ฐ€ ๋‹ต์ด์ง€??โ€ ๋ผ๋ฉฐ ์ƒ๊ฐํ•˜๋‹ค๊ฐ€, ๊ตฌ๊ธ€๋ง์„ ํ•ด์„œ์•ผ ๋ฌด์Šจ ๋ฌธ์ œ์ธ์ง€ ์ดํ•ดํ–ˆ๋‹ค. ๋นˆ ๋ณ‘์˜ ์ˆ˜๊ฐ€ 9๊ฐœ์ด๊ณ , ์ƒˆ ๋ณ‘ 1๊ฐœ๋กœ ๋ฐ”๊พธ๋Š” ๋ฐ ํ•„์š”ํ•œ ๋นˆ ๋ณ‘์˜ ์ˆ˜๊ฐ€ 3๊ฐœ์ผ ๋•Œ 9 / 3 = 3๊ฐœ์˜ ์ƒˆ ๋ณ‘์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ ๋‹ค ๋งˆ์‹œ๋ฉด 3๊ฐœ์˜ ๋นˆ ๋ณ‘์ด ๋จ ๋”ฐ๋ผ์„œ 3 / 3 = 1๊ฐœ์˜ ์ƒˆ ๋ณ‘์„ ๋ฐ›์•„ ๋˜ ๋งˆ์‹ค ์ˆ˜ ์žˆ์Œ. ๊ทธ๋ž˜์„œ ์ด 4๊ฐœ๋ฅผ ๋งˆ์‹ค ์ˆ˜ ์žˆ๋Š” ๊ฒƒ! ์ฆ‰ ์ƒˆ ๋ณ‘์œผ๋กœ ๋ฐ”๊ฟ€ ๋•Œ ๋งˆ๋‹ค ๊ทธ ๋ชซ์„ ๋นˆ ๋ณ‘ ์ˆ˜์— ๋”ํ•ด์ค˜์•ผ ํ•œ๋‹ค. (๋‹ค ๋งˆ์‹œ๋ฉด ๋นˆ๋ณ‘์ด ๋˜๋ฏ€๋กœ) ํ’€์ด1 (ํ‹€๋ฆผ) let inputArr = readLine()!.split(separator: " ").map { Int($0)! } var bottle = inputArr[0] + inputArr[1] let..