11654번 아스키 코드
- 아스키 코드를 출력하기 위해서는 utf8CString을 사용합니다.
- utf8CString란 문자열의 연속적으로 저장된 UTF-8를 표현합니다. 즉 아스키 코드를 출력합니다
- first를 사용한 이유는 입력 값이 한글자라도 마지막에는 0이 출력되기 때문입니다.
let line = readLine()!
print(line.utf8CString.first!)
2744번 대소문자 바꾸기
- 대소문자를 바꾸기 위해서는 위에서 사용했던 아스키 코드를 활용하여 풀 수 있겠습니다.
- 대문자 (65~90) 소문자 (97~122)
let line = readLine()!
for i in line {
(i.utf8.first! >= 65 && i.utf8.first! <= 90) ? print(UnicodeScalar(i.utf8.first!+32), terminator: "") : print(UnicodeScalar(i.utf8.first!-32), terminator: "")
}
2754번 학점계산
- 간단한 함수를 만들어서 풀 수 있겠습니다.
let line = readLine()!
var a = line.first!
var b = line.last!
func opt(str: Character) -> Float {
if str == "+" {
return 0.3
} else if str == "0" {
return 0
} else {
return -0.3
}
}
if a == "A" {
print(4+opt(str: b))
} else if a == "B" {
print(3+opt(str: b))
} else if a == "C" {
print(2+opt(str: b))
} else if a == "D" {
print(1+opt(str: b))
} else {
print(0.0)
}
27866번 문자와 문자열
- 문자열에서 원하는 인덱스를 표현하기 위해서는 다른 언어와 달리 index 메서드를 사용하여 해당 문자열의 인덱스를 추출해야 합니다.
- 추출한 index를 가지고 line[index] 처럼 값을 표현할 수 있습니다.
let line = readLine()!
let num = Int(readLine()!)!
let index = line.index(line.startIndex, offsetBy: num-1)
print(line[index])
9086번 문자열
- 간단하므로 설명 생략
let num = Int(readLine()!)!
for _ in 1...num {
let line = readLine()!
print(line.first!, terminator: "")
print(line.last!)
}
'Algorithm > Baekjoon' 카테고리의 다른 글
Swift 백준 1259 팰린드롬수 (reversed) (0) | 2024.07.21 |
---|---|
Swift 백준 10250 ACM 호텔 (0) | 2024.07.19 |
swift 백준 10871, 10807, 5597, 2738 (배열) (0) | 2024.07.15 |
swift 백준 2741, 10872, 10950, 2420, 2753 (반복) (0) | 2024.07.14 |
swift 백준 1330, 9498, 14681, 2420, 2753 (조건) (0) | 2024.07.13 |