본문 바로가기

백준64

[백준]3052 나머지 스위프트 코드: var set = Set() for _ in 0...9 { let input = Int(readLine()!)! set.insert(input % 42) // set는 중복이 있으면 안되기 때문에 다른것만 들어가게 된다 } print(set.count) ======================================= var arr:[Int] = [] var a = 10 for i in 0...9 { arr.append(Int(readLine()!)! % 42) } for i in 0...8{ for j in i+1...9{ if arr[i] == arr[j]{ a = a - 1 break } } } print(a) 설명: set 은 같은 수가 들어가지 않기 때문에 나머지 값이 같아도 한개의.. 2021. 12. 24.
[백준]2577 숫자의 개수 스위프트 코드: var input1 = Int(readLine()!)! var input2 = Int(readLine()!)! var input3 = Int(readLine()!)! var sum = String(input1 * input2 * input3) var arr:[Character] = [] for i in sum { //String에서 한단어씩 빼먹는법 arr.append(i) // print(arr) } for i in 0...9{ var a = arr.filter{Int(String($0))! == i} var num = a.count print(num) } 설명: String을 for문에 넣으면 Character로 한문자씩 i에 들어가지게 됩니다. filter은 고차함수 입니다 Int(Strin.. 2021. 12. 24.
[백준]2562 최댓값 스위프트 코드: var arr:[Int] = [] for i in 0...8 { arr.append(Int(readLine()!)!) } for i in 0...8 { if arr[i] == arr.max(){ print(arr.max()!) print(i+1) } } 설명: 배열에 수를 집어넣으려면 append함수를 사용하면 됩니다. 마지막 i + 1 을 해준이유는 배열은 0부터 시작하기 때문입니다 결과: 2021. 12. 24.
[백준 10818] 최소, 최대 스위프트 코드: var input = readLine()! var input1 = readLine()!.split(separator: " ").map{ Int(String($0))!} print(input1.min()!, input1.max()!) 설명: readLine를 split하기 때문에 배열이 생성됩니다. map은 고차함수입니다. map {} 코드 블럭안의 $0 은 배열의 원소들입니다 이 map함수가 원소들을 Int로 바꿔줍니다. 배열안에서 수들의 최솟값, 최댓값을 구해야하는데 이떄 min(), max()함수를 사용하면 됩니다 결과: 2021. 12. 24.
[백준]2439 별찍기 -2 스위프트 코드: let input = Int(readLine()!)! for i in 1...input{ var star = "" if input - i != 0 { for j in 1...input - i{ star = star + " " } } for k in 1...i{ star = star + "*" } print(star) } 설명: input 5를 넣었다고 가정해봅시다. 그럼 i가 1일때 input 는 4가 됩니다. 스페이스바를 4번 넣고 그다음 별을 하나 넣어야 됩니다 for k 문은 보면 1...1이기때문에 코드 블럭이 한번실행되고 끝나게 됩니다 결과: 2021. 12. 24.
[백준]2438 별찍기 -1 스위프트 코드: let input = Int(readLine()!)! for i in 1...input{ var star = "" for j in 1...i{ star = star + "*" } print(star) } 설명: "*" 를 for문이 돌때마다 추가시켜 주면서 print 하면 됩니다 결과: 2021. 12. 24.