본문 바로가기
💻 Programming 개발/🍎 iOS 개발, Swift

[Swift][코딩테스트] 백준 알고리즘 풀 때 필요한 코드 스니펫 모음

by 킴디 kimdee 2024. 2. 12.
반응형

 

 

 

 

시작하며

요즘 코딩 테스트를 공부하면서 백준, 프로그래머스를 자주 이용하고 있는데요. 프로그래머스의 경우 func solution(_:) 형태로 되어있지만, 백준의 경우 입, 출력을 모두 입력해주어야 합니다. 

 

두 플랫폼을 왔다갔다하다보니 헷갈려서, 정리해봅니다.

 

 

 

입력을 가져오는 방법 readLine()

  

readLine()은  String? 형태로 반환합니다. 

 

1. 하나의 문자열 String

 

 

문제의 인풋 조건이 항상 하나의 문자열이라면 !를 이용하여 옵셔널이 아니라 String으로 받아오게 합니다. 

코딩테스트에서 굳이 옵셔널 핸들링을 할 필요는 없습니다. 

let string = readLine()!
// String

 

2. 하나의 숫자 Int

let integer = Int(readLine()!)!
// Int

 

3. 문자열 배열 [String]

인풋이 띄어쓰기로 구분된 문자열로 올 경우 문자열 배열로 입력받는 방법입니다.

let stringArray = readLine()!.split(separator:" ").map { String($0) }
// [String]

 

4. 숫자 배열 [Int]

인풋이 아래와 같이 띄어쓰기로 구분된 숫자로 올 경우 숫자 배열로 입력을 받는 방법입니다.

// 인풋
3 7

 

let integerArray = readLine()!.split(separator:" ").map { Int(String($0))!}
// [Int] 형태로 온다. [3, 7]

 

5. 숫자 배열의 배열 [[Int]]

인풋이 아래와 같이 여러 줄의 띄어쓰기 형태로 된 숫자로 왔고 이를 숫자열 배열의 배열 형태로 만들어야할 경우입니다. 

// 인풋
3 4 5 6 
7 8 1 9
4 2 3 0

 

// n의 숫자가 주어졌을 때 
var arr = [[Int]]()
for _ in 0..<n {
    let input = Array(readLine()!).map { Int(String($0))!}
    arr.append(input)
}

// 인풋이 위와 같이 올 경우 arr은 [[3,4,5,6],[7,8,1,9],[4,2,3,0]]이 된다.

 

출력하기 print()

 

print()를 이용하여 콘솔에 답을 출력하여야 합니다. 

 

let answer = solution()

print(answer)

 

 


 

 

 

오늘도 읽어주셔서 감사합니다. 

 

궁금하거나 나누고 싶은 얘기가 있으시면 댓글로 알려주세요!

재밌게 읽으셨다면 공감과 구독은 큰 힘이 됩니다. 

 

항상 감사합니다.

 

반응형

댓글