오늘은 참여한지 11일차 입니다.

22일 Basic 챌린지에 대한 상세한 내용은 아래 링크에서 확인할 수 있습니다.

 

https://developer-p.tistory.com/171

 

[22일 Basic 챌린지 참여] 알고리즘 DAY1

22 Basic Challenge Algorithm https://softsquared.notion.site/Algorithm-5328fab28619430dae2c782d4db6a556 Algorithm 베이직 챌린지 챌린지 대상 : 코딩 테스트 준비해야하는데, 한 번도 해본적은 없어. 일단..

developer-p.tistory.com

 

아래 깃허브 주소에서 백준 Swift 문제풀이를 확인하실 수 있습니다.

 

https://github.com/SuminPark-developer/BaekJoonPS

 

GitHub - SuminPark-developer/BaekJoonPS: 백준 Swift PS

백준 Swift PS. Contribute to SuminPark-developer/BaekJoonPS development by creating an account on GitHub.

github.com


Day 11

220303 공부 일지 : 매일매일 푸는 덕분에, 자주 쓰이는 문법은 충분히 익힌 것 같다.

 

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 인증완료

DAY11 인증완료

 

반응형