오늘은 참여한지 17일차 입니다.
22일 Basic 챌린지에 대한 상세한 내용은 아래 링크에서 확인할 수 있습니다.
https://developer-p.tistory.com/171
아래 깃허브 주소에서 백준 Swift 문제풀이를 확인하실 수 있습니다.
https://github.com/SuminPark-developer/BaekJoonPS
Day 17
220309 공부 일지 : 꾸준히 문제 풀어서, 22일까지 한 번도 놓치지 않고 마무리 잘 하고 싶다!
백준 Swift 1100번
// MARK: - 1100번
var chess: [[String]] = [] // 8x8 체스판
for _ in 0..<8 {
let input = readLine()!.map{String($0)}
chess.append(input)
}
var count: Int = 0 // 하얀 칸 위에 말 개수
for i in 0..<8 {
for j in 0..<8 {
if i % 2 == 0 { // 짝수 행일 땐,
if j % 2 == 0 { // 짝수 열들이 하얀칸.
if chess[i][j] == "F" {
count += 1
}
}
}
else { // 홀수 행일 땐,
if j % 2 == 1 { // 홀수 열들이 하얀칸.
if chess[i][j] == "F" {
count += 1
}
}
}
}
}
print(count)
백준 Swift 1152번
// MARK: - 1152번
let input = readLine()!.split(separator: " ").map{String($0)}
print(input.count)
백준 Swift 1159번
// MARK: - 1159번
let N = Int(readLine()!)!
var alphabet = Array(repeating: 0, count: 26) // a~z 개수
for _ in 0..<N {
let input = readLine()!.map{String($0)}
let index = Int(Character(input.first!).asciiValue! - Character("a").asciiValue!)
alphabet[index] += 1
}
let check = alphabet.filter{$0 >= 5}
if check.isEmpty {
print("PREDAJA")
}
else {
for (index, count) in alphabet.enumerated() {
if count >= 5 {
let answer = Character(UnicodeScalar(97 + index)!) // a의 아스키코드값 + index
print(answer, terminator: "")
}
}
}
백준 Swift 1225번(속도 느림)
// MARK: - 1225번(속도 느림)
let input = readLine()!.split(separator: " ").map{String($0)}
let (A, B) = (input[0].map{String($0)}, input[1].map{String($0)})
var answer: Int = 0
for ch1 in A {
for ch2 in B {
answer += Int(ch1)! * Int(ch2)!
}
}
print(answer)
백준 Swift 1225번 (다시1)
// MARK: - 1225번 다시(1)
let input = readLine()!.split(separator: " ").map{String($0)}
let (A, B) = (input[0], input[1])
var first: Int = 0
var second: Int = 0
for ch1 in A {
first += Int(String(ch1))!
}
for ch2 in B {
second += Int(String(ch2))!
}
print(first * second)
백준 Swift 1225번(다시 2)
// MARK: - 1225번 다시(2)
let input = readLine()!.split(separator: " ").map{String($0)}
let (A, B) = (input[0].map{Int(String($0))!}, input[1].map{Int(String($0))!})
let firstSum = A.reduce(0){ (num1: Int, num2: Int) -> Int in
return num1 + num2
}
let secondSum = B.reduce(0, +)
print(firstSum * secondSum)
백준 Swift 1264번
// MARK: - 1264번
while true {
let input = readLine()!
if input == "#" {
break
}
let str = input.lowercased().map{String($0)}
let count = str.filter{$0 == "a" || $0 == "e" || $0 == "i" || $0 == "o" || $0 == "u"}.count
print(count)
}
백준 Swift 1371번
// MARK: - 1371번
var alphabet = Array(repeating: 0, count: 26) // 알파벳 카운팅
while let input = readLine() {
let str = input.split(separator: " ").map{String($0)}
for arr in str {
for ch in arr {
let index: Int = Int(Character(String(ch)).asciiValue!) - Int(Character("a").asciiValue!)
// let index2 = Int(UnicodeScalar((String(ch)))!.value) - Int(UnicodeScalar(("a")).value) // 방법 2가지
alphabet[index] += 1
}
}
}
var answerIndexArray: [Int] = []
let maxValue = alphabet.max()!
for (index, num) in alphabet.enumerated() {
if num == maxValue {
answerIndexArray.append(index)
}
}
for i in answerIndexArray {
let ch = UnicodeScalar(97 + i)!
print(ch, terminator: "")
}
DAY17 인증완료
반응형
최근댓글