๋ชฉ๋กํ๋ก๊ทธ๋๋ฐ/์๊ณ ๋ฆฌ์ฆ ํ์ด Swift (60)
Bibi's DevLog ๐ค๐
25024๋ฒ: ์๊ฐ๊ณผ ๋ ์ง ์๊ฐ : 0-23, ๋ถ : 0-59 ์ : 1-12 ์ผ : ์๋ณ๋ก ๋ค๋ฅด๊ฒ ์ ์ฉ ์์ผ ๋๋ผ์ง๋ง ์ค์ํํธ์์ Range์ switch ๋ค์ค case ์ฌ์ฉ์ด ๊ฐ๋ฅํด์ ์ฐธ ํธํ ๊ฒ ๊ฐ๋ค. ํ์ด let inputCount = Int(readLine()!)! (1...inputCount).forEach { _ in let inputArr = readLine()!.split(separator: " ").map { Int($0)! } var isTime = false var isDate = false if (0...23).contains(inputArr[0]) && (0...59).contains(inputArr[1]) { isTime = true } if (1...12).contains(i..
2566 ์ต๋๊ฐ 2566๋ฒ: ์ต๋๊ฐ 81๊ฐ์ ์์ฐ์ ์ค ์ต๋๊ฐ์ ์ฐพ๊ณ , ๊ทธ ์์น๋ฅผ ์ถ๋ ฅํ๋ ๋ฌธ์ ํ์ด ๋๋ ํ์ค์ฉ ์ ๋ ฅ์ ๋ฐ๊ณ ๊ฐ ์ค์ ์ต๋๊ฐ์ ๋น๊ตํ๊ณ , ๋ณดํต์ ์ด์คfor๋ฌธ์ผ๋ก ํธ๋ ๊ฒ ๊ฐ๋ค. (1) ๊ฐ ์ค์ ์ต๋๊ฐ ๋น๊ต var maxNum = 0 var maxIndex: (x: Int, y: Int) = (0, 0) (0.. maxNum { maxNum = currentMax maxIndex.x = index maxIndex.y = inputArr.firstIndex(of: currentMax)! } } print(maxNum) print(maxIndex.x + 1, maxIndex.y + 1) (2) ์ด์คfor๋ฌธ์ผ๋ก ๋น๊ต var maxNum = 0 var maxIndex: (x: Int, y: In..
https://www.acmicpc.net/problem/2562 2562๋ฒ: ์ต๋๊ฐ 9๊ฐ์ ์๋ก ๋ค๋ฅธ ์์ฐ์๊ฐ ์ฃผ์ด์ง ๋, ์ด๋ค ์ค ์ต๋๊ฐ์ ์ฐพ๊ณ ๊ทธ ์ต๋๊ฐ์ด ๋ช ๋ฒ์งธ ์์ธ์ง๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ฅผ ๋ค์ด, ์๋ก ๋ค๋ฅธ 9๊ฐ์ ์์ฐ์ 3, 29, 38, 12, 57, 74, 40, 85, 61 ์ด ์ฃผ์ด www.acmicpc.net var maxNum = 0 var maxIndex = 0 (1...9).forEach { index in let input = Int(readLine()!)! if input > maxNum { maxNum = input maxIndex = index } } print(maxNum, maxIndex, separator: "\n")
https://www.acmicpc.net/problem/2490 2490๋ฒ: ์ท๋์ด ์ฐ๋ฆฌ๋๋ผ ๊ณ ์ ์ ์ท๋์ด๋ ๋ค ๊ฐ์ ์ท์ง์ ๋์ ธ์ ๋ฐฐ(0)์ ๋ฑ(1)์ด ๋์ค๋ ์ซ์๋ฅผ ์ธ์ด ๋, ๊ฐ, ๊ฑธ, ์ท, ๋ชจ๋ฅผ ๊ฒฐ์ ํ๋ค. ๋ค ๊ฐ ์ท์ง์ ๋์ ธ์ ๋์จ ๊ฐ ์ท์ง์ ๋ฐฐ ํน์ ๋ฑ ์ ๋ณด๊ฐ ์ฃผ์ด์ง ๋ ๋(๋ฐฐ ํ www.acmicpc.net 0์ด 1๊ฐ = ๋ = A 0์ด 2๊ฐ = ๊ฐ = B 0์ด 3๊ฐ = ๊ฑธ = C 0์ด 4๊ฐ = ์ท = D 0์ด 0๊ฐ = ๋ชจ = E (1...3).forEach { _ in let input = readLine()!.split(separator: " ") let upperCount = input.filter { $0 == "0" }.count switch upperCount { case 1: pr..
2484๋ฒ: ์ฃผ์ฌ์ ๋ค๊ฐ 2476 ์ฃผ์ฌ์ ๊ฒ์ ๊ณผ ๋น์ทํ๊ฒ ํ๋ฉด ๋๊ฒ ๋ค๊ณ ์๊ฐํ๋๋ฐ, ๊ฒฝ์ฐ์ ์๊ฐ ํจ์ฌ ๋ ๋ง์๋ค. filter๋ฅผ ํ์ฉํด ๋์จ ์ฃผ์ฌ์ ๋์ ๋ชจ๋ ํ์ํด์ ๊ฐ์ ๋์ด ๋ช ๊ฐ์ธ์ง ๊ตฌํ ๋ค, ๊ทธ์ ๋ฐ๋ผ ์๊ธ์ ๊ณ์ฐํ๋ค ๊ฐ์ ๋์ด ๋ช ๊ฐ์ธ์ง ๊ตฌํ๋ฉด์, ๊ฐ์ ๋์ธ ์ซ์๊ฐ ๋ฌด์์ธ์ง๋ ์ ์ฅํจ ๊ฐ์ ๋์ด 2๊ฐ์ธ ๊ฒฝ์ฐ, ์ด๋ฏธ ์ฐพ์ ๊ฐ์ ๋ 2๊ฐ๋ฅผ ์ ์ธํ ๋๋จธ์ง ๋ฐฐ์ด(๊ธธ์ด=2)์ ๊ฐ์ด ์๋ก ๊ฐ์ผ๋ฉด 2์์ผ๋ก ํ๋จํ๊ณ , ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ํ ์์ผ๋ก ํ๋จํ๋ค. ํ์ด let count = Int(readLine()!)! var answer = 0 (1...count).forEach { _ in let inputArr = readLine()!.split(separator: " ").map { Int($0)! } v..
2476๋ฒ: ์ฃผ์ฌ์ ๊ฒ์ ์ธ ์ฃผ์ฌ์์ ๋ ์ค์ ๊ฐ์ ๋์ด ๋ฌด์์ธ์ง ์ฐพ์๋ด๋ ๊ฒ์ด ๊ด๊ฑด์ด์๋ ๋ฌธ์ . 3๊ฐ๊ฐ ๊ฐ์ ๋, ๋ชจ๋ ๋ค๋ฅผ ๋๋ ์กฐ๊ฑด๋ฌธ์ผ๋ก ์ด๋ ต์ง ์๊ฒ ์ฒ๋ฆฌ ๊ฐ๋ฅ ๋ฌธ์ ๋ 2๊ฐ๊ฐ ๊ฐ์ ๋์ธ๋ฐ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ด ์์ ๊ฑฐ๋ผ๊ณ ์๊ฐํ์ง๋ง ๋ด๊ฐ ์๊ฐํ ๋ฐฉ๋ฒ์ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ๊ณจ๋ผ ๊ทธ ์์์ ๊ฐ์ ์์์ ๊ฐฏ์๊ฐ 2๊ฐ์ด๋ฉด ์ฒซ ๋ฒ์งธ ์์๋ฅผ, ๊ทธ๋ ์ ์์ผ๋ฉด ๋ง์ง๋ง ์์๋ฅผ ๊ฐ์ ๋์ผ๋ก ์ ํ๋ค. 2๊ฐ์ ๋์ด ๊ฐ์ ๊ฒฝ์ฐ๋ 3๊ฐ์ง๊ฐ ์๋ค : aab, aba, baa ์ฒซ ๋ฒ์งธ ์์๊ฐ 2๊ฐ์ ๊ฐ์ ๋์ ํฌํจ๋์ง ์๋๋ค๋ฉด(aab๊ฐ ์๋๋ผ๋ฉด), ๋๋จธ์ง ๊ฒฝ์ฐ๋ฅผ ๋ณด์์ ๋ ๋ฐ๋์ ์ธ ๋ฒ์งธ ์์๊ฐ 2๊ฐ์ ๊ฐ์ ๋์ ํด๋น๋๊ฒ ๋๋ค (aba, baa) ๊ฐ์ฅ ํฐ ์๊ธ์ ์ฐพ๋ ๊ฒ์ ๋ฐ๋ณต๋ฌธ ๋ฐ๊นฅ์ ์๊ธ ๋ณ์๋ฅผ ๋๊ณ , ์ด๋ฒ ํ์ฐจ์ ๊ณ์ฐํ ์๊ธ์ด ๊ธฐ์กด ..
2309๋ฒ: ์ผ๊ณฑ ๋์์ด 2309๋ฒ: ์ผ๊ณฑ ๋์์ด ์ํ ๊ฐ์ ์ค์ ๊ฑธ์ณ ๋์์ด๋ค์ ํค๊ฐ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ํค๋ 100์ ๋์ง ์๋ ์์ฐ์์ด๋ฉฐ, ์ํ ๋์์ด์ ํค๋ ๋ชจ๋ ๋ค๋ฅด๋ฉฐ, ๊ฐ๋ฅํ ์ ๋ต์ด ์ฌ๋ฌ ๊ฐ์ง์ธ ๊ฒฝ์ฐ์๋ ์๋ฌด๊ฑฐ๋ ์ถ๋ ฅํ๋ค. www.acmicpc.net 3040๋ฒ: ๋ฐฑ์ค ๊ณต์ฃผ์ ์ผ๊ณฑ ๋์์ด ๋ฌธ์ ์ ๋์ผํ๋ค. ์ด ๋ฌธ์ ๋ 2์๊ฐ์ ๋ ๊ณ ๋ฏผํ๋ค๊ฐ ์ค์ค๋ก ํ๊ธฐ ์ด๋ ค์ ๊ตฌ๊ธ๋งํด ๋ณด์๋ค. ์๋๋ ์ฐธ๊ณ ํ ๋งํฌ๋ค. (Swift) ๋ฐฑ์ค 2309 ์ผ๊ณฑ ๋์์ด [์ฝ๋ฉํ ์คํธ ๋๋น] ์์ด(Permutation)๊ณผ ์กฐํฉ(Combination) ์๊ณ ๋ฆฌ์ฆ ํด์ค ์ฐ์ ์, ๋ฌธ์ ๊ทธ๋๋ก ํค์ ํฉ์ด 100์ด ๋๋ 7๋ช ์ ์ฐพ๋ ๊ฒ ์๋๋ผ, ํค์ ํฉ์ด ์ ์ฒดํฉ - 100 ์ด ๋๋ ๋๋จธ์ง 2๋ช ์ ์ฐพ๋๋ค๋ ์์ด๋์ด๊ฐ ํ์ํ๋ค. ์ฐพ์์ผ ํ ๋..
2386๋ฒ: ๋๋น์ ์์ด ๊ณต๋ถ ๊ทธ๋ฅ ์ํ๋ฒณ์ ๋์๋ฌธ์ ๊ตฌ๋ถ์์ด ์ธ๋ ๋ฌธ์ ์ธ๋ฐ, ์ ๋ ฅ ํํ๊ฐ ์กฐ๊ธ ๋ฌ๋ผ์ ๊ทธ ๋ถ๋ถ์ ์ฒ๋ฆฌํ๋ ๋ฐ์์ ์๊ฐ์ด ์ข ๊ฑธ๋ ธ๋ค. ์ ์ฒด ์ ๋ ฅ ์ค์์ ํด๋น ์ํ๋ฒณ ๊ฐฏ์๋ฅผ ์ผ ๋ค์, 1์ ๋บ ๊ฐ์ ์ถ๋ ฅํ๋ค. 1์ ๋บ ๊ฒ์ ์ ๋ ฅ ์ค ๋งจ ์์ ์ ์๋ ์ํ๋ฒณ 1๊ฐ๋ ๋นผ์ผ ํ๊ธฐ ๋๋ฌธ. ํ์ด while true { let input = readLine()!.lowercased() if input == "#" { break } let inputArr = input.split(separator: " ") let alphabet = inputArr[0] var alphabetCount = 0 for inputChar in input { print(inputChar) if String(inputChar)..