목록Algorithms (33)
아요 개발 일기
문제 풀이 저는 sqrt 함수를 사용해서 풀었습니다! sqrt 함수는 제곱근을 구해주는 수학함수 입니다. (pow는 제곱을 해주는 함수) n의 제곱근을 num 변수에 넣어주고, 삼항연산자를 이용해서 num의 제곱이 n 변수 값과 같다면 num + 1을 출력, 아니면 -1을 출력해줍니다. 정확성 무난무난한 것 같네요! 거의 비슷한 풀이를 가지고 있어서 오늘도 비교군은 없습니다! pow로 풀어봤을때 실패가 몇번 떠서 결국 그냥 계산 식을 넣었어요.. 왜 안되는지 의문 ㅠㅠ 오늘도 고생 많으셨습니다! 화이티이잉
안녕하세요~~ 오늘은 콜라츠 추측 문제를 풀어보았습니다!! 문제 풀이 num 상수는 따로 변경이 불가능해서 number 변수에 num 값을 할당해 주었습니다. number이 1이 아니고 count 500보다 작거나 같을때까지 반복 (while number != 1 && count
안녕하세요~~~ 오늘은 히샤드 수 문제를 풀어보았습니다! 날씨가 어제보단 좋네용 ㅎ히 문제 제가 푼 풀이 자릿수마다 더하기 위해서 일단 x 값을 String으로 저장해주었어요! 그 후에 for in 문으로 한 자리씩 result에 더해주고, 삼항 연산자를 사용해서 나머지가 0일 경우 (히샤드 수 일경우)에는 true 아닐 경우에는 false를 출력하도록 했습니다. 좋다고 생각한 풀이 func solution(_ x:Int) -> Bool { return x % String(x).reduce(0, {$0+Int(String($1))!}) == 0 } 동일하게 x 값을 String으로 변환하여 값을 더해주는 역할을 하는 고차함수 reduce를 사용하여 String의 첫번째 값과 다음 값을 더해줍니다. 그 후..
안녕하세요 #.# 요즘 날씨가 너무 좋은 것 같아요!! 하지만 일교차가 크기때문에 감기 조심!! 문제 내가 푼 풀이 저는 for in 문을 사용하여 풀어보았습니다! n번만큼 x 값을 더하고 그 값들은 answer에 추가해줬습니다. 좋다고 생각한 풀이 고차함수를 사용하려고 생각해봤는데, 몇 번 반복하는지에 관련된 부분이 막혀서 그냥 for-in문으로 구성했었어요.. Array(1...n)으로 설정해주면되는 간단한 문제였네요!! map 고차함수로 전 값( $0 )과 x를 곱한 수를 Array에 추가해 준 풀이입니다. 정확성 비교 내가 푼 풀이 괜찮다고 생각한 풀이 for-in문이 정확성면에서는 더 좋네요? 한번 고차함수를 언제 사용하는지, 어떻게 사용해야 실용적으로 쓸 수 있는지 알아봐야겠어요..!
안녕하세요리보고~! 오늘은 최대 공약수와 최소 공배수에 대해 풀어보겠습니다 :D 문제 내가 푼 풀이 저는 유클리드 호재법을 사용하여 풀어보았습니다! 유클리드 호재법에 대해 모르시는 분은 유클리드 호제법 (Euclidean-algorithm) feat. 최대공약수 을 참고해주세요! gcd 함수 a 와 b를 나눈 나머지 값이 0이 아니라면 다시 값을 대입해서 계산하고 0이면 b의 값을 return lcm 함수 a와 b를 곱한 값을 gcd 함수의 return 값과 나눈 몫을 return 이번에는 다 비슷하게 풀거나, 제 코드가 쪼금 더 나아서 좋은 코드는 넘어가도록 하겠습니다! 정확성 오 정확성도 괜찮은 것 같아요!! 역시 수학은 배신하지 않는다..!! 오늘은 유클리드 호제법 정리 글도 올렸으니! 짧게 설명하..
안녕하세요! 자릿수 더하기를 풀어보겠습니당~~ 문제 내가 푼 풀이 전에 자연수 뒤집어서 배열로 만들기 풀었던거 기억나시나요? 거기서 배웠던 풀이 방법을 여기서 적용해봤어요!! 123(n값) % 10을 하면 몫 12 나머지 3이나옵니다! result 변수에 나머지를 차례대로 저장해주면 돼요!!! num /= 10는 합해준 마지막 숫자를 제외시켜주기위해서 추가하였습니다!ㅎㅎ 좋다고 생각한 풀이 return String(n).reduce(0, {$0+Int(String($1))!}); String으로 n 값을 형 변환을 하고, 0부터 String 값의 첫번째 값과 그 다음 값들을 합쳐(reduce)줍니다. 정확성 비교 오 속도는 제가 푼 풀이가 빠르네요? 좋다고 생각한 풀이는.. 메모리 사용량이 엄청 높낮이가..
안녕하세요~~ 오랜만이죠! 최근에 며칠 아파서 문제를... 못 풀어가지고.. ㅜㅜ 문제 내가 푼 풀이 별찍기는 학부생 1학년때 처음 프로그래밍 언어 배우면서 했던건데.. 아주 추억이었어요...! 저는 for문을 중복으로 사용하여 작성했습니다! 예시처럼 5 3이 입력이되면 1줄당 5개씩 3줄!! b가 1일때 a는 5번 *이 찍혀야겠죠??? 내부에있는 for문에서 *을 a만큼 찍고, 외부 for문에서 b줄 만큼 줄을 만들어주면 됩니다! 아주 간단하죠?ㅎㅎ 좋다고 생각한 풀이 아주 간결한 풀이들.. 세상에는 똑똑이들이 정말 많아여 for _ in 0..
안녕하세요! 오늘은 서울에서 김서방 찾기 문제를 풀어보았어요!!! 이름이 재밌죠?ㅎㅎㅎㅎㅎ 문제 내가 푼 풀이 최근에 Array 관련 문제를 꽤 풀어서 그런지 수월했습니다! 이제 index(of:)가 deprecated되어서 firstIndex(of:)와 lastIndex(of:)를 사용한다고 해요!! 간단히 설명하자면, firstIndex(of:) - 배열의 앞 부분부터 원하는 값을 탐색하여 Index 값 출력 lastIndex(of:) - 배열의 뒷 부분부터 원하는 값을 탐색하여 Index 값 출력입니다! 위의 문제에 적혀있는 예시를 보니 저희는 당연히 firstIndex를 사용해야겠죠?? 꽤 쉬운 문제 였던 것 같아요!! 더불어서 조만간 Array도 정리해서 포스팅 해야겠다는 생각이 드네용... 오..