Swift/BOJ

BOJ ) 2908번 상수 (Swift)

Holuck 2019. 11. 8. 01:57

https://www.acmicpc.net/problem/2908

 

2908번: 상수

문제 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다. 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734과 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할

www.acmicpc.net

String 을 입력받아서 각각을 뒤집은 다음에 정수형태로 만든 후 무엇이 더 큰지 비교하여 출력하는 문제입니다.

 

우선 입력을 받아서 빈칸을 기준으로 나눠서 array라는 배열을 만들어서 넣습니다.

 

String ([문자열 변수 이름].reversed()) 를 사용하여 각각 문자열을 뒤집어 줍니다.

 

 

이후 정수형태로 바꿔주어야 하는데 저는 위의 방법을 사용하였습니다.

마지막으로 대소관계 비교 후 큰 수를 출력하였습니다.

 

 

import Foundation
if let read = readLine() { // 키보드로 부터 입력을 받습니다.
var array = read.components(separatedBy: " ") //입력받은 값을 " " 단위로 끊어서 배열에 넣습니다.
let a = array[0] //첫번째 값을 저장
let b = array[1] //두번째 값을 저장
let reversedNum1 = String(a.reversed()) //문자열을 뒤집습니다.
let reversedNum2 = String(b.reversed()) //문자열을 뒤집습니다.
let myInt1 = (reversedNum2 as NSString).integerValue //문자 값을 정수형으로 바꿉니다.
let myInt2 = (reversedNum1 as NSString).integerValue
if myInt1 > myInt2 { //대소관계 비교
print(myInt1)
}
else {
print(myInt2)
}
}
view raw 2908.swift hosted with ❤ by GitHub
댓글수0