๋ชฉ๋กํ๋ก๊ทธ๋๋ฐ/์๊ณ ๋ฆฌ์ฆ ํ์ด Swift (60)
Bibi's DevLog ๐ค๐
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๋ฒ: ํ์์ผ๊น ์ง์์ผ๊น ์ ๋ ฅ๋ ์ซ์๊ฐ ํ์์ธ์ง ์ง์์ธ์ง ํ์ธํด ์ถ๋ ฅํ๋ ๋ฌธ์ . ์ฌ๊ธฐ๊น์ง ๋ณด๋ฉด ๋ธ๋ก ์ฆ5๋ฌธ์ ์ธ ๊ฒ ๊ฐ์๋ฐ ๋ธ๋ก ์ฆ3์ผ๋ก ๋์ด ์๋ค. ํ ์คํธ ์ผ์ด์ค ์ ๋๋๋ฐ ์๊พธ ํ๋ ธ๋ค๊ณ ํ๊ธธ๋ ๊ฒฐ๊ตญ ๊ตฌ๊ธ๋งํ๋๋ ์ ๋ ฅ ์ ์ ๋ฒ์๋ฅผ ํ์ธํด์ผ ํ๋ ๋ฌธ์ ์๋ค.ใ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฐ๋ผ ๋งค์ฐ ํฐ ์๋ฅผ ์ฒ๋ฆฌํ๋ ์๋ฃํ์ด ์์ด ๊ทธ๊ฑธ ์ฌ์ฉํด์ ํผ ์ฌ๋๋ ์์ง๋ง, ์๊ฐ ํฌ๊ธด ํ๋ฐ ์ด์ฐจํผ ๋งจ ๋ ์๋ฆฌ๋ง ๊ฐ์ง๊ณ ๋ ํ์ง ํ๋ณ์ด ๋๊ธฐ ๋๋ฌธ์ ๋ฌธ์์ด๋ก ์ซ์๋ฅผ ๋ฐ์ ๋ ๋ฌธ์๋ง ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์๋ค. ํ์ด let count = Int(readLine()!)! (1...count).forEach { _ in let numStr = readLine()! let lastNum = numStr[numStr.index(before: nu..
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 ๊ณผ ๊ฐ์ด ์ฌ..
[๋ฐฑ์ค 5704] ํฌ๊ทธ๋จ 5704๋ฒ: ํฌ๊ทธ๋จ ์ ๋ ฅ๋ ๋ฌธ์ฅ์ ๋ชจ๋ ์ํ๋ฒณ์ด ๋ค์ด์๋์ง ํ์ธํ๋ฉด ๋๋ค. ํ์ด while true { var alphabet = "abcdefghijklmnopqrstuvwxyz".map { $0 } let input = readLine()! if input == "*" { break } for item in input { if item == " " { continue } if let index = alphabet.firstIndex(of: item) { alphabet.remove(at: index) } else { continue } } alphabet.isEmpty ? print("Y") : print("N") } ์ํ๋ฒณ ๋ฐฐ์ด์์ ๋ฌธ์ฅ์ ์๋ ๊ธ์๋ค์ ํ๋์ฉ ๋นผ๊ณ , ๋ง์ง๋ง..
5691๋ฒ: ํ๊ท ์ค์๊ฐ ๋ฌธ์ ์ธ ์์ ํ๊ท ์ (A+B+C) / 3 โ1โคAโคBโค10์9์นโ๋ผ๋ ์กฐ๊ฑด์ด ์ฃผ์ด์ ธ ์๋ค. โ ๋งค์ฐ ์ค์! ์ค์๊ฐ : ์์ C๋ฅผ ์ถ๊ฐํด ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ์ ๋ ์ค๊ฐ ๊ฐ A
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๋ฒ: ํ์ฐ ์๋ฃ ์์ ๋ฅผ ๋ณด๊ณ โ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..
4880๋ฒ: ๋ค์์ ๋ฑ์ฐจ์์ด : ์์ ์์ ์ผ์ ํ ๊ฐ์ ๋ํ๋ ์์ด ๋ค์ ์ - ์์ ์ ๊ฐ์ด ๋งค๋ฒ ์ผ์ ํ๋ฉด ๋ฑ์ฐจ์์ด ๋ฑ๋น์์ด : ์์ ์์ ์ผ์ ํ ๊ฐ์ ๊ณฑํ๋ ์์ด ๋ค์ ์ / ์์ ์ ๊ฐ์ด ๋งค๋ฒ ์ผ์ ํ๋ฉด ๋ฑ๋น์์ด ํ์ด while let input = readLine(), input != "0 0 0" { let inputArr = input.split(separator: " ").map { Int($0)! } if inputArr[2] - inputArr[1] == inputArr[1] - inputArr[0] { print("AP \(inputArr[2] + (inputArr[2] - inputArr[1]))") } else if inputArr[2] / inputArr[1] == inputArr[..