티스토리 뷰
안녕하세요. 멍구입니다. ^-^//
오늘도 간단한 문제풀이 하나 남겨보겠습니다.
swift의 조건문, if문이나 삼항연산자를 사용해서 입력 받은 두 수의 비교결과를 출력하는 백준 문제를 풀어보겠습니다.
오늘 풀어 볼 문제는 백준 1330번, 두 수 비교하기입니다. 바로 가보겠습니다.
백준 1330번, 두 수 비교하기 문제 설명
백준 1330번, 두 수 비교하기는 말 그대로 두 수를 입력 받아 어느 수가 큰지를 출력하면 되는 문제입니다.
시간 제한은 1초, 메모리 제한은 512MB로 되어있지만, 해당 문제는 공간복잡도, 시간복잡도 모두 O(1)의 상수시간으로 풀 수 있는 단순한 문제로, 크게 고려한 부분은 없습니다.
백준 1330번, 두 수 비교하기 입출력 예시
두 수 비교하기 문제 입출력 예시입니다. 공백을 기준으로 두 수를 입력한 뒤, 두 수의 비교결과를 출력하면 됩니다. 바로 코드로 구현해보겠습니다.
두 수 비교하기 조건문 / 삼항연산자 활용, swift 문제풀이
먼저 두 수를 입력해야겠죠?? swift에서 입력은 readLine()을 사용합니다.
3행) readLine()의 반환값, String? 의 옵셔널을 벗기기 위해 readLine()! 로 강제언래핑을 해준 뒤, 특정 문자를 기준으로 쪼개주는 함수인 split과 배열 내의 각각의 값을 특정 연산으로 변환시켜주는, 매핑해주는 map을 사용해서 String? -> String -> [Int] 로 변환을 시켜준 뒤, arr에 넣어줍니다. 이렇게 arr은 Int타입의 배열을 갖게 됩니다.
입력받은 [Int]배열에서 두 수를 꺼내어 변수로 정의하는 부분입니다. a, b변수를 5행과 같이 따로 지정해줄 수도 있지만, 6행처럼 (a, b) = (x, y) 와 같은 형식으로 변수를 지정해줄 수도 있습니다. 편하신대로 사용하시면 됩니다.
이제 조건문을 사용해서 a, b의 비교를 진행 후 조건에 맞게 출력하시면 됩니다. 이렇게 간단하게 두 수를 비교한 결과를 출력할 수 있게 되었습니다.
swift에서는 기본적으로 if, else 조건문 절에 { } 괄호를 사용하지 않고 위와 같이 정의해서 사용할 수 있습니다.
위 방법만이 정답일까요? 우리는 삼항연산자를 사용할 수 도 있습니다. 해당 코드는 아래에 작성해보았으니, 참고하시기 바랍니다.
3항연산자를 사용하면 코드양이 줄어드는 장점과, 가독성이 떨어지게 될 수 있다는 단점이 있으니 상황에 따라 잘 판단하여 사용하시면 됩니다.
지금까지 백준 1330번 문제, 두수 비교하기 문제를 swift로 풀어봤습니다. swift의 기본적인 조건문, if - else문을 사용해봤고, 삼항연산자를 활용할 수도 있었습니다. 다음에 또 다양한 문제풀이로 돌아오겠습니다. ^0^//
'알고리즘 정보 > Swift 알고리즘' 카테고리의 다른 글
swift 기초반복문 while문 활용, 백준 더하기사이클 문제풀이 (0) | 2021.01.20 |
---|---|
swift 반복문 기초 for/forEach, 백준 구구단 출력 문제풀이 (0) | 2021.01.18 |
swift 입문, 백준 We love kriii print 출력 문제풀이 (2) | 2021.01.14 |
swift print 출력 메서드, 백준 Hello World 문제풀이 (0) | 2021.01.13 |
백준 DP 알고리즘, 2688 줄어들지않아 swift 문제풀이 (0) | 2021.01.03 |
- Total
- Today
- Yesterday
- 컬렉션
- 백준swift
- swift
- Protocol
- swift문제
- 부스트코스
- CoreML
- Collection
- SwiftUI
- uikit
- 스위프트
- ios
- swift reduce
- swift언어
- createML
- 알고리즘
- 알고리즘문제
- 프로토콜
- 개발자문서
- publisher
- swift 문자열
- 백준알고리즘
- swift알고리즘
- 김프매매
- Swift 알고리즘
- 자연어처리
- swift 기초
- 프로그래머스
- 프로그래머스swift
- swift string
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |