목록분류 전체보기 (167)
아요 개발 일기
문제 풀이 minNum 부분이 조금 헷갈려서 다른 풀이글을 참고했습니다! 변수 maxNum, minNum을 만들고, for-in문을 통해서 내부의 배열 값을 받습니다. maxNum에는 배열의 i 값들 중 큰 값과 maxNum을 비교 후 큰 값을 넣어주고, minNum에는 배열의 i 값들 중 작은 값과 minNum을 비교 후 큰 값을 넣어줍니다. 그 후, 변수 두개를 곱해주면 끝! 좋은 풀이 func solution(_ sizes:[[Int]]) -> Int { let sorted = sizes.map{$0.sorted()} return sorted.map{$0[0]}.max()! * sorted.map{$0[1]}.max()! } 이 풀이는 고차 함수 map을 많이 사용했네요? 일단 sorted 상수에 ..
문제 풀이 저는 week와 month를 Array로 선언해놓고 풀었습니다! a의 값만큼 for 문을 돌려주고 만약, a = 5라면 month[0...5]까지 0, 31, 29, 31, 30, 31 값을 result에 값에 더해줍니다 그 후에 result 값에 b 값도 더해주고, 일주일은 7일이니 result % 7 의 값을 week에서 찾아서 Return 합니다. func solution(_ a:Int, _ b:Int) -> String { let w = ["THU", "FRI", "SAT", "SUN", "MON", "TUE", "WED"] let monthDay = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] let totalDay = monthDay[0..
문제 풀이 저는 for-in 문을 사용했어요! for-in 문으로 1부터 count 만큼 돌리고 price와 i 를 곱한 값을 result 변수에 더해줍니다. 그 후에 money가 result 값보다 크면 0을 return하고, 아니면 result - money 값을 return 해 줍니다. func solution(_ price:Int, _ money:Int, _ count:Int) -> Int64{ let totalPrice = price * (count * (count+1)/2) if money >= totalPrice { return 0 } return Int64(totalPrice - money) } 이번에도 다른 풀이를 데려왔습니당 이 풀이는 다른 것들은 다 제 풀이랑 비슷해서 아래 부분만 보..
안녕하세요! 오늘으으으은 가운데 글자 가져오기 문제를 풀어보겠습니다! 문제 풀이 String은 [i]로 인덱스 검색을 할 수 없어서 array를 사용해서 간단하게 풀어보았습니다!! func solution(_ s:String) -> String { return String(s[String.Index(encodedOffset: (s.count-1)/2)...String.Index(encodedOffset: s.count/2)]) } 이 풀이는 String.index 를 잘 활용했네요?? 역시 아는만큼 보인다... 설명을 좀 보려고 apple developer 사이트에서 encodedOffset 을 찾아봤는데 아쉽게도 이제 사용하지 않는 기능인것 같아요ㅠㅠ 정확성 테스트 제 풀이는 한번 더 Array로 감싸..
안녕하세요! 날씨가 바람이 쌩쌩 많이 부는 여,, 조금 춥네용,,, 🌬💨 감기 조심하시구! 오늘은 문자열 내 마음대로 정렬하기 문제를 풀어보겠습니다!!! 문제 풀이 여러 방향으로 풀어보다가.. 잘 안 풀려서 다른 분 풀이를 참고해서 풀었습니다....ㅜㅜ strings 문자열의 n만큼 떨어진 곳을 index 상수에 저장해 줍니다. strings 배열에있는 문자열들을 각 s1,s2에 차례대로 저장해주고, s1 문자열과 s2 문자열의 해당 index 위치를 비교하여 return 해줍니다. 값이 같으면 s1 < s2 로 정렬 이외에는 s1[index] < s2[index] 로 정렬 마지막으로 정렬된 값을 Result 상수에 저장해주면 끝! func solution(_ strings:[String], _ n:In..
안녕하세요! 오늘은 문자열 내 p와 y의 개수를 구하는 문제를 풀어보겠습니다 :ㅇ 문제 풀이 ㅎㅎㅎ.. 아주 단순하게 풀었죠? for문으로 문자열의 문자 하나씩만 받을 수 있게 반복문을 돌리고, if문을 사용해서 p와 y에 해당하는 문자가 있으면 count +1해주었습니다. 마지막으로 pcount와 ycount가 같으면 true 아니면 false로 마무리 합니다! 아주 쉽죠?ㅎㅎㅎ 좋다고 생각한 풀이 func solution(_ s:String) -> Bool { let string = s.lowercased() return string.components(separatedBy: "p").count == string.components(separatedBy: "y").count } 아주 깔끔하고 똑똑한 ..
안녕하세요! 오늘은 문자열 내림차순으로 배치하기 문제를 풀어보겠습니다 :D 문제 풀이 저는 for-in문과 sorted 함수를 사용했어요! for-in문으로 문자열의 문자 하나씩(i) 뽑아주고, 문자들을 result 변수에 내림차순으로 정렬해줍니다! 좋은 풀이 func solution(_ s:String) -> String { return String(s.sorted { $0 > $1 }) } 단축 문법을 사용해서 제 코드의 세줄을 하나로 해결 할 수 있어요!.. s 문자열을 문자 하나씩 비교해서 내림차순으로 정렬한 것을 출력해줍니다! 아주 간결하네용 정확성 테스트 와 확실히 이번에는 좋은 풀이가 정확성이 확실히 좋네요!! for문만 없앴다고 이렇게 좋다니 신기합니당,,ㅎㅎ
안녕하세요! 오늘은 소수 찾기 문제를 풀어보겠습니다 :D 문제 풀이 저는 isPrime 함수를 만들어 풀어보았습니다! 소수 구하는 방법은 소수 찾기 Feat. 에라토스테네스의 체 글을 참고해주세요!ㅎㅎ isPrime 함수를 이용해서 Bool 값이 true 일때 count 값을 +1 해줍니다. 그 후에 n = 2 일때는 1을 출력해야하므로 삼항 연산자를 이용해 해당 연산이 true일때 (n = 2) 1을 출력하고, false일때는 count 값을 출력하도록 했습니다! func solution(_ n:Int) -> Int { var primes:[Bool] = [Bool](repeating:false, count:n+1); var count = 0; for i in 2...n { if(!primes[i]){..