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