본문 바로가기

Algorithm236

Swift) 백준 2941번 요구능력 : replacingOuccurrences 코드설명 : 받은 문자열 안에 크로아티아 문자 전부다 넣어보면서 있으면 변경해주는 건데, "dz="은 앞쪽에 있어야 "z="으로 안걸러진다. 후기 : 도저히 모르겠어서 구글링 해봤는데 함수하나알면 Clear... import Foundation var word = readLine()! let m = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="] for i in 0...m.count - 1 { word = word.replacingOccurrences(of: m[i], with: "a") } print("\(word.count)") 2021. 7. 29.
Swift) 백준 2908번 요구능력 : String -> Character -> String -> Integer 할줄아느냐 코드설명 : 숫자의 자리를 바꾸려고 Character를 쓰고, 반복문을 쓰고, Character배열을 String으로 바꾸고 (이게 핵심인듯..) Int로 바꿔서 비교하고 이게 전부이다. 후기 : 무난하게 풀린문제 생각한대로 풀려서 기분좋아지는문제 let S = readLine()!.split(separator: " ") var result = 0 for i in 0...(S.count - 1) { var arr: [Character] = [] for j in S[i] { arr.append(j) } arr.reverse() if result == 0 { result = Int(String(arr))! }el.. 2021. 7. 29.
Swift) 백준 1152번 요구능력 : 띄어쓰기를 처리하라는것을 이해했느냐 코드설명 : 한글자, 한글자 손수 배열에 집어넣어주고, 띄어쓰기 갯수를 구해주고, 맨뒤에 띄어쓰기가 오는경우를 처리해주고, 맨앞에 띄어쓰기가 오는경우를 처리해서 프린트 하였다. 후기 : 왠지는 모르겠는데 정답률이 낮다.. 조금만 생각하면 풀리는 문제(억지로 푼감이 없지않아 있지만..) let word = readLine()! var arr: [Character] = [] var count = 0 for i in word { arr.append(i) } for j in 0...(arr.count - 1) { if arr[j] == " " { count += 1 } } if arr[arr.count-1] == " " { count -= 1 } print("\(.. 2021. 7. 28.
Swift) 백준 1157번 요구능력 : 딕셔너리를 활용할 수 있느냐 코드설명 : 우선, 대소문자 상관안하는데 대문자로 출력해야되니까 모두 대문자로 바꿔준다. 그리고 받은 문자열마다 각각 개수를 세줄 것이고 동일한 문자열이 나오면 더해줄것 밖에 할게없기 때문에, Dictionary를 활용할것이다. ex) mississipi일 경우 dict의 Key는 m, i, s, p 만 존재한다. for문을 보면 dict의 value가 nil일 경우 처음 나오는 알파벳이기 때문에, 1을 넣어주고 아니면 1을 더해준다. 이제, result를 선언해준 이유를 보자. result는 dict의 value의 max값을 갖는 문자들을 배열로 받아 가장 큰 값이 2개이상 존재하는걸 처리해줄 것이다. 코드를보면 dict의 모든 키들을 순회할 것이다. 그리고 마.. 2021. 7. 28.