오늘은 참여한지 11일차 입니다.
22일 Basic 챌린지에 대한 상세한 내용은 아래 링크에서 확인할 수 있습니다.
https://developer-p.tistory.com/171
아래 깃허브 주소에서 백준 Swift 문제풀이를 확인하실 수 있습니다.
https://github.com/SuminPark-developer/BaekJoonPS
Day 11
220303 공부 일지 : 매일매일 푸는 덕분에, 자주 쓰이는 문법은 충분히 익힌 것 같다.
백준 Swift 17009번
// MARK: - 17009번
var appleScore: [Int] = []
var bananaScore: [Int] = []
for _ in 0..<3 {
appleScore.append(Int(readLine()!)!)
}
for _ in 0..<3 {
bananaScore.append(Int(readLine()!)!)
}
let appleSum = (appleScore[0] * 3) + (appleScore[1] * 2) + appleScore[2]
let bananaSum = (bananaScore[0] * 3) + (bananaScore[1] * 2) + bananaScore[2]
if appleSum > bananaSum {
print("A")
}
else if appleSum < bananaSum {
print("B")
}
else {
print("T")
}
백준 Swift 11282번
구글링을 통해 해결했다. 44032부터 "가" 라고 한다.
// MARK: - 11282번
let N = Int(readLine()!)!
print(UnicodeScalar(44031 + N)!)
백준 Swift 16199번
// MARK: - 16199번
let bornYear = readLine()!.split(separator: " ").map{Int(String($0))!}
let standardYear = readLine()!.split(separator: " ").map{Int(String($0))!}
let yearLaw: Int = standardYear[0] - bornYear[0] // 연 나이
let yearKorea: Int = 1 + yearLaw // 세는 나이
var yearGlobal: Int = 0 // 만 나이
if standardYear[0] > bornYear[0] { // 년 지났을 때,
if standardYear[1] > bornYear[1] { // 월 지났을 때,
yearGlobal = standardYear[0] - bornYear[0]
}
else if standardYear[1] < bornYear[1] { // 월 안 지났을 때,
yearGlobal = standardYear[0] - bornYear[0] - 1
}
else { // 월 같을 때,
if standardYear[2] >= bornYear[2] { // 일 같거나 지났을 때,
yearGlobal = standardYear[0] - bornYear[0]
}
else { // 일 안 지났으면,
yearGlobal = standardYear[0] - bornYear[0] - 1
}
}
}
else { // 연도가 같으면,
yearGlobal = 0 // 만 나이는 0살
}
print(yearGlobal)
print(yearKorea)
print(yearLaw)
백준 Swift 1212번
// MARK: - 1212번 (참고 : https://didu-story.tistory.com/210)
let N = readLine()!.map{Int(String($0))!}
for i in 0..<N.count {
var num = N[i]
var answer = ""
if num == 0 {
answer += "0"
}
else {
while num != 1 {
answer += String(num % 2)
num /= 2
}
answer += "1" // 2진수로 변경 시, 역순 시 가장 첫부분은 1이 돼야 해서 1 붙여줌.
}
if i > 0 && answer.count == 1 { // 첫번째가 아니고, 한자리라면 2자리 더 채워줌.
answer += "00"
}
else if i > 0 && answer.count == 2 { // 첫번째가 아니고, 두자리라면 1자리 더 채워줌.
answer += "0"
}
print(String(answer.reversed()), terminator: "")
}
백준 Swift 2754번
// MARK: - 2754번
let score: [String: Double] = ["A+": 4.3, "A0": 4.0, "A-": 3.7, "B+": 3.3, "B0": 3.0, "B-": 2.7, "C+": 2.3, "C0": 2.0, "C-": 1.7, "D+": 1.3, "D0": 1.0, "D-": 0.7, "F": 0.0]
let input = readLine()
print(score[input!]!)
백준 Swift 3028번
// MARK: - 3028번
let input = readLine()!.map{String($0)}
var ball = ["O", "X", "X"]
for ch in input {
switch ch {
case "A":
ball.swapAt(0, 1)
case "B":
ball.swapAt(1, 2)
case "C":
ball.swapAt(2, 0)
default:
print("default는 없음.")
}
}
for (index, ch) in ball.enumerated() {
if ch == "O" {
print(index + 1)
break
}
}
백준 Swift 3029번
// MARK: - 3029번
import Foundation
let timeNow = readLine()!.split(separator: ":").map{Int(String($0))!} // 현재 시간
let (nowH, nowM, nowS) = (timeNow[0], timeNow[1], timeNow[2])
let timeThrow = readLine()!.split(separator: ":").map{Int(String($0))!} // 던질 시간
var (throwH, throwM, throwS) = (timeThrow[0], timeThrow[1], timeThrow[2])
var totalTime: Int = 0
if (throwH == nowH) && (throwM == nowM) && (throwS == nowS) { // 시각이 같다면, 최대 24시간 기다림.
print("24:00:00")
}
else {
if throwH < nowH {
throwH += 24
}
totalTime = ((throwH - nowH) * 3600) + ((throwM - nowM) * 60) + (throwS - nowS)
let answerH = totalTime / 3600
let answerM = (totalTime % 3600) / 60
let answerS = (totalTime % 3600) % 60
print("\(String(format: "%02d", answerH)):\(String(format: "%02d", answerM)):\(String(format: "%02d", answerS))")
}
백준 Swift 11718번
// MARK: - 11718번
while true {
let input = readLine()
if input == nil {
break
}
else {
print(input!)
}
}
백준 Swift 16316번
// MARK: - 16316번
let n = Int(readLine()!)!
var input = readLine()!.split(separator: " ").map{String($0)}
var answerArray: [String] = []
for i in 0..<n {
answerArray.append(String(i + 1))
}
for (index, ch) in input.enumerated() {
if ch == "mumble" {
input[index] = String(index + 1)
}
}
if input == answerArray {
print("makes sense")
}
else {
print("something is fishy")
}
백준 Swift 16408번
// MARK: - 16408번
let input = readLine()!.split(separator: " ").map{String($0)}
var countArray = Array(repeating: 0, count: 13)
let temp = ["A", "2", "3", "4", "5", "6", "7", "8", "9", "T", "J", "Q", "K"]
for chFirst in input {
let first: String = String(chFirst.first!)
for (index, ch) in temp.enumerated() {
if ch == first {
countArray[index] += 1
}
}
}
print(countArray.max()!)
DAY11 인증완료
반응형
최근댓글