안녕하세요 후르륵짭짭 입니다.
이번에는 무거운 Xcode 프로젝트를 실행시키지 않고 백준 문제를 푸는 방법에 대해 설명하려고 합니다.
그 동안 알고리즘 문제는 프로그래머스에서 주로 풀었는데, 사실 백준이 문제가 더 많아서 여기서 풀면 좋다고 많이 생각했지만,,,,
매번 프로젝트 실행하고 그 실행 기다리고 이러면,,, 사실 엄청나게 많은 용량을 차지하기도 하고 느리기도 하고 해서
안 풀고 다른 것을 풀었습니다.
하지만 야매로 하는 방법을 알았습니다.
쫌 귀찮은 구석은 있습니다.
** 해결 방법 **
터미널로 저장하고 싶은 위치로 이동 합니다.
cd /Volumes/T7/Xcode_TestProj/A_BackJun
그리고 touch를 사용해서 swift 파일을 생성해줍니다.
touch 10833.swift
(저는 이 문제를 풀었고 파일이름을 백준 번호로 했습니다.www.acmicpc.net/problem/10833)
그리고 swift 파일을 xcode에서 엽니다.
open 10833.swift
하지만,,, 여기서 문제는 그냥 swift 파일로 열 경우에는 AutoComplete이 되지 않습니다..
그래서 PalyGround 파일을 임시로 하나 만들어주고!
거기서 임시적으로 코딩을 해줍니다.
import UIKit
typealias table = (school : Int , apple : Int)
var inputs : [table] = [
table(24,52),
table(13,22),
table(5,53),
table(23,10),
table(7,70)
]
inputs = [
table(10,20),
table(5,5),
table(1,13)
]
inputs = []
//Input In Here
//
//let N = Int(readLine()!)!
//for _ in 0..<N{
// let input = readLine()!.components(separatedBy: " ").map { (ele) -> Int in
// return Int(ele)!
// }
//
// inputs.append(table(input[0] , input[1]))
//}
//Solution In Here
var answer = 0
for element in inputs{
if element.apple < element.school{
answer += element.apple
}
else{
answer += element.apple - (element.apple / element.school) * element.school
}
}
print(answer)
여기서 봐야할 점은 PlayGround에서는 readLine()이 작동하지 않기 때문에,
위에 처럼 배열로 임시적으로 값을 생성해줍니다.
문제를 다 풀었다면
위에 있는 저 코드를 복사해서 우리가 생성했던 Swift 파일로 복사 붙여넣기 합니다.
그런 다음에 아래 코드를 해주면 입력을 받을 수도 있고 출력도 됩니다!
swift 10833.swift
백준에는 문제를 빨리 풀기 보다는 입력 코드도 작성해야한다는 불편함이 있기 땜에
여러 문제를 접하는 용도로 사용해야겠습니다.
Swift에서는,,,, 그럼 모두 즐코하세요!
참고 사이트 :
mahmudahsan.medium.com/running-and-compiling-swift-code-in-terminal-237ee4087a9c
'ETC. > 기타' 카테고리의 다른 글
기타) Objective-C의 Selector 함수 (0) | 2021.05.05 |
---|---|
기타) Objective-C VS Swift 어떤 차이가 있을까?? (0) | 2021.01.18 |
기타 ) AutoLayOut을 StoryBoard VS Code 머가 날까? (5) | 2020.12.23 |
기타) 라즈베리파이와 IPhone 블루투스 연결 - 참고 사이트 (0) | 2020.11.11 |
기타 ) 나의 Algorithm 공부한거 쉽게 찾아보기!!! (0) | 2020.09.12 |
댓글