단계별로 문제 풀이를 하고 있는데, 첫번째 단계인 입출력과 사칙연산을 끝냈음 언제 어려운 거 풀지 ..
여기서 조금 기억해야겠다 싶은 것들만 추려서 간단하게 적어보려고 한당 ...
세상 간단한 것도 .. 나는 어려우니까 .. 쒸익 쒸익 😡
ㄴ 누가 뭐라고 함?
ㄴ 아니 그냥 내가 혼자 찔림
입력값
문제를 풀기 위해서는 입력값을 받아야 하는데 .. 그전에 프로그래머스로 풀어서 그런지 입력값을 어떻게 받는지 몰랐다 ..
swift에서는 readline()을 통해 입력값을 받을 수 있는데, 이렇게 받은 값을 따로 처리하지 않으면 옵셔널 string 형태로 타입이 결정된다.
그래서 이 값들을 원하는 식으로 사용하기 위해서는 아래와 같은 몇가지 절차가 필요하다.
(처음에는 조금 어색할 수 있는데, 몇번 풀다보면 익숙해져서 그냥 아무생각없이 작성하게 된다.)
만약, 숫자를 입력 받아야 한다면?
- 옵셔널 해제
- Int로 변환
과정을 거치면 된다.
프로젝트에서 코딩을 할 때는 강제언래핑을 지양하지만, 지금은 알고리즘이니까 .. ㅇㅉ
let n = Int(readLine()!)!
이렇게 Int형을 입력 받을 수 있다.
주로 띄어쓰기를 기준으로 숫자를 나눠서 입력을 받게 되는데,
이렇게 띄어쓰기를 기준으로 입력값을 구분하고 싶다면, 문자열의 메서드를 활용할 수 있다.
import Foundation
let input = readLine()!.components(separatedBy: " ").map { Int($0)! }
print(input)
Fountdation 프레임워크에 포함되어있는 components 메서드를 활용하여 띄어쓰기로 구분해주었다. 이렇게 쓰게 되면 띄어쓰기를 기준으로 입력받은 문자열이 "배열" 로 바로 return된다.
이렇게 입력 받은 값을 하나씩 접근하고 싶다면 인덱스로 input[0], input[1] ... 이렇게 접근할 수 있다.
출력값
출력은 그렇게 어려운 것은 없었는데 아직까지 특수문자를 출력하고 싶을 때 #와 "를 사용하면 된다.
swift5 이전버전에서 특수문자를 "\"를 사용해 나타내준 것과는 달리 swift5부터는 #와 "의 조합으로 특수문자 표현이 가능하다.
만약 여러 줄을 출력하고 싶다면 """를 사용하면 된다.
예를 들어 백준의 10171번 고양이와 같은 문제를 푼다고 하면 고양이 최고
let value = #"""
\ /\
) ( ')
( / )
\(__)|
"""#
print(value)
이렇게 풀 수 있다.
아직까지 .. 는 이정도로 정리할 것 같은데 ..
고차함수를 좀 더 잘 활용할 수 있도록 쉬운 문제에서 최대한 많이 익숙해지려고 해야겠다 ... 아자자 ..
'Algorithm' 카테고리의 다른 글
백준 - 구구단 (0) | 2022.08.20 |
---|---|
Set을 잘 쓰자. (0) | 2022.08.20 |
프로그래머스 - 나머지가 1이 되는 수 찾기 (0) | 2022.04.15 |
프로그래머스 - 약수의 개수와 덧셈 (0) | 2022.04.14 |
프로그래머스 - 두 개 뽑아서 더하기 (0) | 2022.04.12 |