๐ Daily Loaf/์๊ณ ๋ฆฌ์ฆ14 [์ค๋ฒ5][Swift]๋ฐฑ์ค2563๋ฒ https://www.acmicpc.net/problem/2563 ๋ต์์ฝ๋import Foundationlet n = Int(readLine()!)!var paper = [[Bool]](repeating: [Bool](repeating: false, count: 100), count: 100)for _ in 0..n์ ์ ๋ ฅ๋ฐ์ ์์ข ์ด์ ๊ฐ์๋ฅผ ์ ์ฅํฉ๋๋ค.paper๋ผ๋ 100x100 ํฌ๊ธฐ์ 2์ฐจ์ ๋ถ๋ฆฌ์ธ ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค. ์ด๊ธฐ๊ฐ์ ๋ชจ๋ false์ ๋๋ค.n๋ฒ ๋ฐ๋ณตํ๋ฉด์:์์ข ์ด์ ์ผ์ชฝ ์๋ ๊ผญ์ง์ ์ขํ (x, y)๋ฅผ ์ ๋ ฅ๋ฐ์ต๋๋ค.(x, y)๋ถํฐ (x+9, y+9)๊น์ง์ ์์ญ์ true๋ก ์ค์ ํฉ๋๋ค.์ต์ข ์ ์ผ๋ก paper ๋ฐฐ์ด์์ true์ธ ์์์ ๊ฐ์๋ฅผ ์ธ์ด ์ถ๋ ฅํฉ๋๋ค.flatMap { $0 }๋ก 2์ฐจ์ ๋ฐฐ์ด์.. 2024. 10. 14. [๋ธ๋ก ์ฆ1][Swift]๋ฐฑ์ค1546๋ฒ(map/reduce) https://www.acmicpc.net/problem/1546 ๋ต์์ฝ๋let N = Int(readLine()!)!let scores = readLine()!.split(separator: " ").map { Double($0)! }let maxScore = scores.max()!let newScores = scores.map { $0 / maxScore * 100 }let average = newScores.reduce(0, +) / Double(N)print(average)let N = Int(readLine()!)!:์ฒซ ๋ฒ์งธ ์ค์์ ๊ณผ๋ชฉ์ ๊ฐ์ N์ ์ ๋ ฅ๋ฐ์ ์ ์๋ก ๋ณํํฉ๋๋ค.!๋ฅผ ์ฌ์ฉํ ๊ฐ์ ์ธ๋ํ์ ์ ๋ ฅ์ด ํญ์ ์ ํจํ ์ ์์ผ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํ ๋๋ง ์์ ํฉ๋๋ค.let scores = readL.. 2024. 10. 7. [๋ธ๋ก ์ฆ2][Swift]๋ฐฑ์ค10811๋ฒ(reverse) https://www.acmicpc.net/problem/10811 ๋ต์์ฝ๋let input = readLine()!.split(separator: " ").map { Int($0)! }let N = input[0]let M = input[1]var baskets = Array(1...N)for _ in 0..let input = readLine()!.split(separator: " ").map { Int($0)! }:์ฒซ ๋ฒ์งธ ์ค์ ์ ๋ ฅ์ ๋ฐ์ ๊ณต๋ฐฑ์ผ๋ก ๋ถ๋ฆฌํ๊ณ , ๊ฐ ๋ถ๋ถ์ ์ ์๋ก ๋ณํํฉ๋๋ค.!๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ์ธ๋ํํ๋ ๊ฒ์ ์ ๋ ฅ์ด ํญ์ ์ ํจํ๋ค๊ณ ๊ฐ์ ํ ๋๋ง ์์ ํฉ๋๋ค.let N = input[0], let M = input[1]:์ ๋ ฅ๋ฐ์ ๊ฐ์์ N(๋ฐ๊ตฌ๋์ ๊ฐ์)๊ณผ M(์ญ์ ์์ ์ ํ์)์ ์ถ์ถํฉ.. 2024. 10. 7. [๋ธ๋ก ์ฆ2][Swift]๋ฐฑ์ค3052๋ฒ(Set) https://www.acmicpc.net/problem/3052 ๋ต์์ฝ๋var remainders = Set()for _ in 1...10 { if let input = readLine(), let number = Int(input) { remainders.insert(number % 42) }}print(remainders.count)var remainders = Set():์ ์ํ Set์ ์์ฑํฉ๋๋ค. Set์ ์ค๋ณต์ ํ์ฉํ์ง ์๋ ์ปฌ๋ ์ ํ์ ์ ๋๋ค.์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์๋์ผ๋ก ์ค๋ณต๋ ๋๋จธ์ง๋ฅผ ์ ๊ฑฐํ ์ ์์ต๋๋ค.for _ in 1...10 {:10๋ฒ ๋ฐ๋ณตํ๋ ๋ฃจํ๋ฅผ ์์ํฉ๋๋ค. 10๊ฐ์ ์ซ์๋ฅผ ์ ๋ ฅ๋ฐ๊ธฐ ์ํจ์ ๋๋ค.if let input = readLine(), let number .. 2024. 10. 7. [๋ธ๋ก ์ฆ3][Swift]๋ฐฑ์ค5597(๋ฐฐ์ด) https://www.acmicpc.net/problem/5597 ๋ต์์ฝ๋var students = Array(repeating: false, count: 31)for _ in 1...28 { if let input = readLine(), let number = Int(input) { students[number] = true }}for i in 1...30 { if !students[i] { print(i) }}31๊ฐ์ false ๊ฐ์ ๊ฐ์ง ๋ฐฐ์ด์ ์์ฑํฉ๋๋ค (0๋ฒ ์ธ๋ฑ์ค๋ ์ฌ์ฉํ์ง ์์).28๋ฒ ๋ฐ๋ณตํ๋ฉด์ ์ ๋ ฅ๋ฐ์ ๋ฒํธ์ ํด๋นํ๋ ์ธ๋ฑ์ค๋ฅผ true๋ก ๋ณ๊ฒฝํฉ๋๋ค.1๋ถํฐ 30๊น์ง ์ํํ๋ฉด์ false์ธ ์ธ๋ฑ์ค(์ฆ, ์ ์ถํ์ง ์์ ํ์์ ๋ฒํธ)๋ฅผ ์ถ๋ ฅํฉ๋๋ค... 2024. 10. 7. [๋ธ๋ก ์ฆ2][Swift]๋ฐฑ์ค10813 https://www.acmicpc.net/problem/10813 ๋ต์์ฝ๋// N(๋ฐ๊ตฌ๋ ๊ฐ์)๊ณผ M(๊ณต์ ๋ฐ๊พธ๋ ํ์) ์ ๋ ฅ ๋ฐ๊ธฐlet input = readLine()!.split(separator: " ").map { Int($0)! }let N = input[0]let M = input[1]// ๋ฐ๊ตฌ๋ ์ด๊ธฐํ (1๋ถํฐ N๊น์ง์ ๋ฒํธ๊ฐ ์ ํ ๊ณต)var baskets = Array(1...N)// M๋ฒ ๊ณต ๋ฐ๊พธ๊ธฐfor _ in 0..temp๋ผ๋ ์์ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ baskets[i]์ ๊ฐ์ ์ ์ฅํฉ๋๋ค.baskets[i]์ baskets[j]์ ๊ฐ์ ํ ๋นํฉ๋๋ค.baskets[j]์ temp(์๋ baskets[i]์ ๊ฐ)๋ฅผ ํ ๋นํฉ๋๋ค.swapAt ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ํด๊ฒฐํ ์์์ด์// i๋ฒ์งธ ๋ฐ๊ตฌ๋์ .. 2024. 10. 7. [๋ธ๋ก ์ฆ3][Swift]๋ฐฑ์ค10810(Array) https://www.acmicpc.net/problem/10810 ๋ต์์ฝ๋// N(๋ฐ๊ตฌ๋ ๊ฐ์)๊ณผ M(๊ณต์ ๋ฃ๋ ํ์) ์ ๋ ฅ ๋ฐ๊ธฐlet input = readLine()!.split(separator: " ").map { Int($0)! }let N = input[0]let M = input[1]// ๋ฐ๊ตฌ๋ ์ด๊ธฐํ (1๋ถํฐ N๊น์ง์ ๋ฐ๊ตฌ๋, ์ด๊ธฐ์๋ ๋ชจ๋ ๋น์ด์์)var baskets = Array(repeating: 0, count: N)// M๋ฒ ๊ณต ๋ฃ๊ธฐfor _ in 0..N(๋ฐ๊ตฌ๋ ๊ฐ์)๊ณผ M(๊ณต์ ๋ฃ๋ ํ์)์ ์ ๋ ฅ๋ฐ์ต๋๋ค.Array(repeating: 0, count: N)์ผ๋ก N๊ฐ์ ๋ฐ๊ตฌ๋๋ฅผ 0์ผ๋ก ์ด๊ธฐํํฉ๋๋ค. ์ฌ๊ธฐ์ 0์ ๋ฐ๊ตฌ๋๊ฐ ๋น์ด์์์ ์๋ฏธํฉ๋๋ค.M๋ฒ ๋ฐ๋ณตํ๋ฉด์ ๋ค์ ์์ ์ ์ํํฉ.. 2024. 10. 5. [๋ธ๋ก ์ฆ5][Swift]๋ฐฑ์ค10951(while/EOF) https://www.acmicpc.net/problem/10951 ๋ต์์ฝ๋while let input = readLine() { let numbers = input.split(separator: " ").map { Int($0)! } print(numbers[0] + numbers[1])}while let ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ readLine()์ ๊ฒฐ๊ณผ๋ฅผ ์ต์ ๋ ๋ฐ์ธ๋ฉํฉ๋๋ค. ์ด๋ ์ ๋ ฅ์ด ์๋ ๋์ ๊ณ์ํด์ ๋ฃจํ๋ฅผ ์คํํฉ๋๋ค.๊ฐ ๋ฐ๋ณต์์:์ ๋ ฅ ๋ฌธ์์ด์ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋ถ๋ฆฌํ๊ณ ์ ์๋ก ๋ณํํฉ๋๋ค.์ฒซ ๋ฒ์งธ ์ซ์์ ๋ ๋ฒ์งธ ์ซ์์ ํฉ์ ๊ณ์ฐํ์ฌ ์ถ๋ ฅํฉ๋๋ค.์ ๋ ฅ์ด ๋ ์ด์ ์์ผ๋ฉด (EOF์ ๋๋ฌํ๋ฉด) ๋ฃจํ๊ฐ ์ข ๋ฃ๋ฉ๋๋ค.input = readLine()! ์ด๋ ๊ฒ ์ฝ๋๋ฅผ ์ ์ ์ ์ด์ ์์ ์ฑ:readLine(.. 2024. 10. 4. [๋ธ๋ก ์ฆ5][Swift]๋ฐฑ์ค10952(while) https://www.acmicpc.net/problem/10952 ๋ต์์ฝ๋while true { let input = readLine()!.split(separator: " ").map { Int($0)! } let A = input[0] let B = input[1] if A == 0 && B == 0 { break // ์ ๋ ฅ์ด 0 0์ด๋ฉด ๋ฐ๋ณต๋ฌธ ์ข ๋ฃ } print(A + B)}while true๋ก ๋ฌดํ ๋ฃจํ๋ฅผ ์์ํฉ๋๋ค.๊ฐ ๋ฐ๋ณต์์:readLine()์ผ๋ก ํ ์ค์ ์ ๋ ฅ ๋ฐ๊ณ , ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋ถ๋ฆฌํ ํ ์ ์๋ก ๋ณํํฉ๋๋ค.์ฒซ ๋ฒ์งธ ์ซ์๋ฅผ A์, ๋ ๋ฒ์งธ ์ซ์๋ฅผ B์ ์ ์ฅํฉ๋๋ค.A์ B๊ฐ ๋ชจ๋ 0์ด๋ฉด break๋ฌธ์ผ๋ก ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฃํฉ๋๋ค.๊ทธ๋ ์ง.. 2024. 10. 4. [๋ธ๋ก ์ฆ5][Swift]๋ฐฑ์ค10950(ํ ์คํธ์ผ์ด์ค) https://www.acmicpc.net/problem/10950 ๋ต์์ฝ๋// ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ ์ ๋ ฅ ๋ฐ๊ธฐlet T = Int(readLine()!)!// ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด A+B ๊ณ์ฐ ๋ฐ ์ถ๋ ฅfor _ in 1...T { let input = readLine()!.split(separator: " ").map { Int($0)! } let A = input[0] let B = input[1] print(A + B)}์ฒซ ๋ฒ์งธ ์ค์์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T๋ฅผ ์ ๋ ฅ๋ฐ์ต๋๋ค.for ๋ฃจํ๋ฅผ ์ฌ์ฉํ์ฌ T๋ฒ ๋ฐ๋ณตํฉ๋๋ค. ์ฌ๊ธฐ์ _๋ ๋ฃจํ ๋ณ์๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ ์๋ฏธ์ ๋๋ค.๊ฐ ๋ฐ๋ณต์์:readLine()์ผ๋ก ํ ์ค์ ์ ๋ ฅ ๋ฐ๊ณ , ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋ถ๋ฆฌํ ํ ์ ์๋ก ๋ณํํฉ๋๋ค.์ฒซ ๋ฒ.. 2024. 10. 4. ์ด์ 1 2 ๋ค์