일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Swift
- C언어
- 커스텀팝업
- Firebase
- text to speech
- 플러터
- xocde
- Android Studio
- TextField
- deeplink
- 링크드리스트
- 연결리스트
- Android
- swift baekjoon
- 보호와 보안
- 자바
- 준코딩
- IOS
- android java
- 예외처리
- label
- FLUTTER
- storyboard
- Xcode
- 안드로이드스튜디오
- BAEKJOON
- 백준
- 안드로이드
- customPopup
- 버블정렬
Archives
- Today
- Total
준코딩
[Swift] 백준 1157번 문제 단어 공부 본문
https://www.acmicpc.net/problem/1157
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
https://github.com/Ljunhyeob/baekjoon1157
GitHub - Ljunhyeob/baekjoon1157: 백준 - 1157
백준 - 1157. Contribute to Ljunhyeob/baekjoon1157 development by creating an account on GitHub.
github.com
//
// main.swift
// baekjoon1157
//
// Created by 이준협 on 2023/01/07.
//
import Foundation
let text = readLine()!
var arr = [Int](repeating: 0, count: 26) //26칸 배열 0으로 채워서 만듬
for value in text.utf8 { //text 문자열 utf8값 하나하나씩 value에 넣으면서 반복
//a->97 , A->65
//대문자 일 경우에 -97, 소문자일 경우에 -65 를 하면 A와a 값이 똑같이 나옴
//예를들어 A는 100이고, a는 68 이라고 치면 -> 3 과 3 이 나옴.
//그렇기 때문에 같은 배열위치에 값을 저장할 수 있음.
if value > 90 { //value 값이 90 이상이면 대문자
arr[Int(value) - 97] = arr[Int(value) - 97] + 1
//arr[value] 에다가 기존 arr[value] 값을 가져와서 + 1 을 한 값을 저장
//만약 arr[value] = 0 일때, arr[value] = 0 + 1 이 됨.
} else {
arr[Int(value) - 65] += 1
}
}
let max = arr.max()! // 위 for문으로 값을 저장한것중에 가장 큰 값을 가져옴
if arr.firstIndex(of: max) == arr.lastIndex(of: max) {
//firstIndex -> 배열 맨앞부터 max 값 위치를 반환
//lastIndex -> 배열 맨 뒤부터 max 값 위치를 반환
//두개가 같다면 가장 많이 사용한 단어를 찾은거
print(UnicodeScalar(arr.firstIndex(of: max)! + 65)!)
//문제 출력값에서 무조건 대문자로 나와야하기때문에 65를 더해서 값을 출력
} else { // 못찾았다면 단어 갯수가 동일하게 있는거임.
print("?")
}
'알고리즘 > Swift 백준 문제풀이' 카테고리의 다른 글
[Swift] 백준 1929번 문제 소수 구하기 (0) | 2023.01.07 |
---|---|
[Swift] 백준 2751번 문제 수 정렬하기 2 (0) | 2023.01.07 |
[Swift] 백준 11720번 문제 숫자의 합 (0) | 2023.01.07 |
[Swift] 백준 1152번 문제 단어의 개수 (0) | 2023.01.07 |
[Swift] 백준 1065번 문제 한수 (0) | 2023.01.07 |
Comments