til 18

백준 1546번 Swift 알고리즘 연습

앞으로 알고리즘은 월, 수, 금 3일만 하기로 다짐한다... 나머지는 전부 스위프트 공부! * 1546번 1) var count = Int(readLine()!)! var array = readLine()!.split(separator: " ").map{Int($0)!} var max: Int = array[0] var average: Double = 0 for i in 0...count - 1 { if array[i] >= max { max = array[i] } } for i in 0...count - 1 { average += ( Double(array[i]) / Double(max) ) * 100 } var totalAverage = average / Double(count) print(total..

백준 3052번 Swift 알고리즘 연습

알고리즘 공부를 시작할 때 주말 말고 평일에만 공부하겠다 다짐했건만, 저번주 이번주 너무 공부를 못해서 그냥 하나 풀어봄 ^^; * 3052번 1) var insert1 = Int(readLine()!)! var insert2 = Int(readLine()!)! var insert3 = Int(readLine()!)! var insert4 = Int(readLine()!)! var insert5 = Int(readLine()!)! var insert6 = Int(readLine()!)! var insert7 = Int(readLine()!)! var insert8 = Int(readLine()!)! var insert9 = Int(readLine()!)! var insert10 = Int(readLine..

백준 2577번 Swift 알고리즘 연습

한동안 알고리즘 공부를 못했다... 애플 개발자 아카데미가 본격적으로 시작하고나니 눈코 뜰새 없이 바빠서 알고리즘 볼 여유가 없었다라는 변명을 해본다... (진짜 바쁘긴 했음😅) * 2577번 1) 1차 답안 var a = Int(readLine()!)! var b = Int(readLine()!)! var c = Int(readLine()!)! var d = String(a * b * c) var count0 = 0 var count1 = 0 var count2 = 0 var count3 = 0 var count4 = 0 var count5 = 0 var count6 = 0 var count7 = 0 var count8 = 0 var count9 = 0 for i in d { if i == "0" { ..

백준 10818, 2562번 Swift 알고리즘 연습

요즘 알고리즘 문제를 풀면서 문득 느낀 것이 있다. 평소 수학 문제를 풀거나 어떤 논리적인 풀이에 접근할 때 머리속으로는 그 논리가 굉장히 쉽게 도출되는데, 이걸 실제로 코드로 옮겨 쓰는 것은 상당히 어려운 것 같다. 이래서 요즘 개발자 채용할 때 컴퓨터적 사고(?)를 할 줄 아는 인재를 뽑겠다고 하는 것 같기도... 아직 내 뇌가 컴퓨터의 논리 방식을 익숙해하지 않고 있나보다... 그래도 어쨌든 해결 :) * 10818번 1) 내 답안 var count = Int(readLine()!)! var array = readLine()!.split(separator: " ").map{Int($0)!} var max: Int = array[0] var min: Int = array[0] for i in 0.....

백준 1110번 Swift 알고리즘 연습

대학생활하며 수학 문제 좀 풀어봐서 간단한 알고리즘 구상은 쉬울거 같았는데... 이번 문제는 문법적인 측면보단 알고리즘 형태를 고민하는데 많은 시간을 보냈다...!! * 1110번 1) var a = Int(readLine()!)! var e: Int e = a for i in 1... { var x: Int var b: Int var c: Int x = i b = e / 10 c = e % 10 e = c * 10 + ((b+c) % 10) if e == a { print(x) break } } for문을 값이 나올때까지 돌리면 되겠다는 알고리즘은 금방 생각이 났다. 그러나 처음 첫 번째 자리수와 두 번째 자리수를 나누는 과정에 너무 많은 기준을 생성하여 기하급수적으로 코드가 늘어났고 그렇게 늘어나다..

백준 10952, 10951번 Swift 알고리즘 연습

10871번 문제는 사실상 3월 28일(월)에 푼 문제이고... 오늘은 2문제(10952번, 10951번)를 풀었는데 매우 힘들다... 살짝만 꼬여도 문제 해결에 필요한 시간이 배로 늘어나는 것 같다. * 10952번 1) var a: [Int] = [] a = readLine()!.split(separator: " ").map{Int($0)!} for _ in 0... { if a[0] > 0 && a[1] > 0 { print(a[0] + a[1]) a = readLine()!.split(separator: " ").map{Int($0)!} } else if a[0] == 0 && a[1] == 0 { break } } 첫 번째로 for문을 어떻게 무한정 돌리는지에 대해 고민하는 시간을 가졌다. 내가..

백준 2438, 2439번 Swift 알고리즘 연습

금요일이라 놀고 싶지만 알고리즘은 풀고 놀아야겠다 싶어서 for문을 마져푸는데 생각 이상으로 헷갈린다... 고민하다가 모르겠어서 찾아보면 아 맞네 이걸 왜 몰랐지? 싶은 이 기분.. 앞으로 현타에 더 익숙해져야겠다. * 2438번 1) let a = Int(readLine()!)! for i in 1...a { for _ in 1...i { print("*", terminator: "") } print("") } 어떻게 해야 프린트를 여러번 찍어내고 출력 단락을 바꿀 수 있을까 고민을 했다. 결국 for 문을 두 번 겹쳐서 사용하자는 결론이 나긴 했지만 뭔가 바로 생각난 것도 아니고 이것저것 고민을 좀 오래해서 그런지 결론도 찝찝했다. 근데 여기서 for가 한 번더 겹쳐져서 3중 for문이 나온다 생각하..

백준 11021, 11022번 Swift 알고리즘 연습

금요일이라 놀고 싶지만 알고리즘은 풀고 놀아야겠다 싶어서 for문을 마져푸는데 생각 이상으로 헷갈린다... 고민하다가 모르겠어서 찾아보면 아 맞네 이걸 왜 몰랐지? 싶은 이 기분.. 앞으로 현타에 더 익숙해져야겠다. * 11021번 1) let a: Int = Int(readLine()!)! for i in 1...a { var b: [Int] = [] b = readLine()!.split(separator: " ").map{Int($0)!} print("Case #\(i): \(b[0]+b[1])") } * 11022번 1) let a: Int = Int(readLine()!)! for i in 1...a { var b: [Int] = [] b = readLine()!.split(separator: ..

백준 8393, 2741, 2742번 Swift 알고리즘 연습

금요일이라 놀고 싶지만 알고리즘은 풀고 놀아야겠다 싶어서 for문을 마져푸는데 생각 이상으로 헷갈린다... 고민하다가 모르겠어서 찾아보면 아 맞네 이걸 왜 몰랐지? 싶은 이 기분.. 앞으로 현타에 더 익숙해져야겠다. * 8393번 1) let a: Int = Int(readLine()!)! var b: Int = 0 for i in 1...a{ b += i } print(b) * 2741번 1) let a = Int(readLine()!)! for i in 1...a { print(i, terminator: "\n") } * 2742번 1) let a = Int(readLine()!)! for i in 1...a { print(a - i + 1, terminator: "\n") } 정리(Today I L..