목록전체 글 (473)
MUKER_DEV with iOS
2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 나의 풀이 import Foundation var input = readLine()! let temp = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="] for i in temp { input = input.replacingOccurrences(of: i, with: "*") } print(input.count) 79504kb 12ms 199b 1. replacingOccurrence..
5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 나의 풀이 let input = readLine()! // 번호의 합계를 담을 변수 할당 var result = 0 for i in input { // switch문을 이용해서 입력값(문자열)의 문자 하나씩 가져와서 원하는 값을 result변수에 더해준다. switch i { case "A", "B", "C": result += 3 case "D", "E", "F": result += 4 case "G", "H", "I": result += 5 case "J", "K", "L": result += 6 case "M", "N", "O": resul..
2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 나의 풀이 print(readLine()!.split(separator:" ").map{Int(String($0.reversed()))!}.max()!) 69104kb 8ms 79b
1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 나의 풀이 print(readLine()!.split(separator: " ").count) 76244kb 60ms 46b
1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 나의 풀이 // 입력값 대문자로 변환 let input = readLine()!.uppercased() var dic = [String: Int]() var temp = [String]() for i in input { // 입력값을 딕셔너리 키값에 넣고 입력값이 중복되면 벨류가 1씩 늘어남 if dic[String(i)] == nil { dic[String(i)] = 1 } else { dic[String(i)]! += 1 } } for i in dic.keys { // 'temp'배열에 제일..
2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 나의 풀이 let input = Int(readLine()!)! // 입력값 만큼 반복해서 readLine생성 for _ in 1...input { // 반복해서 나올 입력값을 temp 배열에 따로 넣어줌 let temp = readLine()!.split(separator: " ") // temp[1] 에 있는 문자를 하나씩 꺼냄 for i in temp[1] { // 꺼낸 문자를 temp[0]에 있는 숫자만큼 출력 for _ in 1...Int(te..
10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 나의 풀이 // map을 사용해서 입력받은 문자열을 아스키 코드로 'input'배열에 저장 let input = readLine()!.map { $0.asciiValue! } // a...z까지 아스키 코드로 i에 담아 반복문을 돌려 줌 for i in Character("a").asciiValue!...Character("z").asciiValue! { // 'input'배열에 i가 포함된다면 if input.contains(i) { // 'inpu..
11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 나의 풀이 let input = Int(readLine()!)! let input2 = readLine()! var result = 0 for i in input2 { result += Int(String(i))! } print(result) 69100kb 8ms 134b 개선한 풀이 - 코드길이 감소 Int(readLine()!)! print(readLine()!.map{ Int(String($0))! }.reduce(0) { $0 + $1 }) 69100kb 8ms 82b
11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 나의 풀이 print(Character(readLine()!).asciiValue!) 69096kb 8ms 42b
4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 나의 풀이 코드 import Foundation let input = Int(readLine()!)! for _ in 1...input { var input2 = readLine()!.split(separator: " ").map { Int($0)! } var over = 0 var avg = 0 let count = input2[0] input2.remove(at: 0) for i in input2 { avg += i } avg = avg / count for i in input2 { if i > avg { over += 1 } } pr..