본문 바로가기

스위프트3

[백준] (Swift) 2675 문자열 반복 2675 문자열 반복 반복할 횟수와 반복할 문자열을 입력받아 문자열의 각 문자들을 입력받은 횟수만큼 출력한다. 한 줄에 횟수와 문자열이 같이 나오므로, String으로 받은 후 횟수만 Int로 형변환해 사용한다. 테스트 케이스를 여러 개 받는데 한 케이스에서는 개행이나 공백 없이 이어 쓰고, 각 케이스를 개행으로 구분해서 출력해준다. import Foundation for _ in 1...Int(readLine()!)! { let test = readLine()!.components(separatedBy: " ") for c in test[1] { for _ in 1...Int(test[0])! { print(c, terminator: "") } } print("") } 2022. 7. 11.
[백준](Swift) 1차원 배열 1차원 배열 단계를 해결해보자! 10818 최소, 최대 입력 받은 숫자들 중 최솟값, 최댓값을 찾는 문제다. 이 문제를 풀 때는 components를 사용하면 안 된다. 초반 포스팅에서 언급했듯이 입력을 공백 기준으로 자르는 방법으로 components, split 이 두 가지가 있는데 이 중 더 빠른 방법은 split이므로 이 문제는 split을 사용해야만 시간 초과가 나지 않는다. 잘 비교된 글이 있어서 링크를 첨부한다. Swift split VS components 처음에는 입력을 전부 받고 최솟값을 저장할 minn = 1000000, 최댓값을 저장할 maxn = -1000000을 만들고 입력받은 숫자들을 돌면서 값을 갱신해줬다. 답은 맞았다. 그런데 조금 더 찾아보니 배열에 min(), max().. 2022. 6. 4.
스위프트로 알고리즘 문제 풀기 원래 C++로 알고리즘 문제를 풀었는데, iOS 개발자가 될 거니까 언어에 익숙해질 겸 이제는 스위프트로 풀려고 한다. 입출력, 자료형 변환 등 C++과 다른 점이 많으니 문제 풀이에 필요한 것들을 정리해보자. readLine EOF 기준으로 입력을 받는다. 엔터 치기 전까지를 옵셔널 String으로 입력 받는다. 알고리즘 문제에서는 보통 nil일 경우가 없기 때문에 “!”를 사용해 강제 추출한다. let value = readLine()! 여러 줄을 받을 때 var values = [String]() for _ in 0.. 2022. 5. 10.