📌 문제
📌 풀이
- 함수 readLine()를 통해 한 줄로 된 하나의 문자열로 두 번 입력 받는다.
- N은 Int로 변환한다.
- inputToArrayOfInt는 split()과 map{}을 통하여, (1) 공백으로 구분한 N개의 정수를 나누어, (2) Int의 요소로 하나의 배열에 각각 추가한다.
- Int(), readLine()은 옵셔널 타입이기에, 강제 언래핑으로 옵셔널을 해제한다.
- min(), max()로 각각 최솟값, 최댓값을 구하되, 이 역시 2번처럼 옵셔널 타입이기에 강제 언래핑을 한다.
- 최솟값, 최댓값을 화면 출력한다.
Swift에서 readLine()에 대한 내용은 따로 블로그를 작성했으니 아래를 참고하자.
Swift에서 min(), max()에 대한 내용은 아래를 참고하자.
📌 코드
// 문자열을 입력 받아 Int의 N으로 할당
let N = Int(readLine()!)!
// 공백으로 구분된 N개의 정수를 입력 받아 각각 하나의 배열에 Int의 요소로 추가
let inputToArrayOfInt = readLine()!.split(separator: " ").map {Int(String($0))!}
// 배열의 최솟값을 변수로 할당
var minOfArray = inputToArrayOfInt.min()!
// 배열의 최댓값을 변수로 할당
var maxOfArray = inputToArrayOfInt.max()!
// 최솟값과 최댓값을 공백으로 구분하여 각각 출력
print(minOfArray, maxOfArray)
📌 후기
내장 함수를 알고 이를 다룰 줄 안다면 간결하게 풀 수 있지만,
그렇지 않다면 입력값에서 일일이 반복문과 배열의 인덱스를 다루어 코드가 복잡해질 수 있는 문제였다.
'코딩 테스트 > 백준' 카테고리의 다른 글
[백준] (Swift) 1157번: 단어 공부 (0) | 2023.03.22 |
---|---|
[백준] (Swift) 3613번: Java vs C++ (0) | 2023.03.21 |
[백준] (Swift) 10872번: 팩토리얼 (재귀 vs 반복) (2) | 2023.03.18 |
[백준] (Swift) 10769번: 행복한지 슬픈지 (0) | 2023.03.18 |
[백준] (Swift) 11382번: 꼬마 정민 (0) | 2023.03.15 |
댓글