분류 전체보기73 [브론즈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. [브론즈5][Swift]백준2739(for) https://www.acmicpc.net/problem/2739답안코드let N = Int(readLine()!)!for i in 1...9 { print("\(N) * \(i) = \(N * i)")} 반복문을 사용하여 해결하는 문제였다 2024. 10. 3. 이전 1 ··· 4 5 6 7 8 다음