백준 18108, 10430, 2588번 Swift 알고리즘 연습
백준 단계별 문제 모음집 중 입출력과 사칙연산 단계는 기존 문제들에 아주 약간의 변화로 응용이 들어가면 정답을 맞출 수 있었다.
* 18108번
1)
let year = readLine()!
print(Int(year)! - 543)
* 10430번
1)
import Foundation
var lineArr: [String]
var line = readLine()!
lineArr = line.components(separatedBy: " ")
print((Int(lineArr[0])! + Int(lineArr[1])!) % Int(lineArr[2])!)
print(((Int(lineArr[0])! % Int(lineArr[2])!) + (Int(lineArr[1])! % Int(lineArr[2])!)) % Int(lineArr[2])!)
print((Int(lineArr[0])! * Int(lineArr[1])!) % Int(lineArr[2])!)
print(((Int(lineArr[0])! % Int(lineArr[2])!) * (Int(lineArr[1])! % Int(lineArr[2])!)) % Int(lineArr[2])!)
* 2588번
1)
var line1 = Int(readLine()!)!
var line2 = Int(readLine()!)!
var A: Int = (line1 * (line2 % 10))
var B: Int = (line1 * ((line2 % 100) / 10))
var C: Int = (line1 * (line2 / 100))
var D: Int = (line1 * line2)
print(A)
print(B)
print(C)
print(D)
- 2588번 문제의 경우 정말 다양한 방식으로 해결가능 할 것 같다. line2 변수를 집합으로 만들어놓고 들어가는 인수 * line1 정수로 처리하는 방식도 가능할 것 같다.
- readLine을 1줄, 2줄 어떻게 따로 받지? 하는 생각을 처음에 했는데.. 혹시 몰라서 그냥 변수를 두 개 선언하면 전부 받지 않을까 싶어서 진행해보았다. 그리고 놀랍게도 이 방식이 맞는것 같다. 의외로 직관적이군..!?
정리(Today I Learned)
- 클린코드는 중요하다.
- 일단은 다양하게 시도해보자. 의외로 나의 사고구조가 코딩의 논리구조와 비슷하게 작용하는 경우가 있다.
- 입출력과 사칙연산을 끝냈다! 이제 시작이지만 기분이 좋다!