[프로그래머스] 문자열 반복 출력
·
알고리즘/프로그래머스
import Foundationfunc solution(_ my_string: String, _ n: Int) -> String { var result = "" //my_string의 길이가 2 이상 5 이하, n이 2 이상 10 이하인지 확인합니다. 만약 그렇지 않다면, 빈 문자열을 반환합니다. guard 2...5 ~= my_string.count && 2...10 ~= n else { return "" } //my_string의 각 문자 char에 대해 n번씩 반복해서 result에 추가합니다. for char in my_string { for _ in 1...n { result.append(char) } ..
[프로그래머스] 옷가게 할인 받기
·
알고리즘/프로그래머스
안녕하세요 Bulmang입니다!하루에 40분이상은 코딩테스트 한 문제를 풀고 있습니다!오늘은 런타임 에러가 나서 코드를 수정하였습니다.런타임에러가 났던 이유는 if 조건문을 많이 사용해서 런타임에러가 났던 것 같습니다!그후 삼항연산자를 사용해봤습니다변경 전func solution(_ price:Int) -> Int { var result : Int var discount : Double guard 10...1000000 ~= price else { return 0 } if price >= 100000 { discount = Double(price) * 0.05 } else if price >= 300000 { discount = D..
[TIL] 코딩테스트 , 리빌딩
·
Swift/문법
코딩테스트 꾸준히 하루에 한시간 이상 코테를 공부했는데 문제에 접근을 하는 방법에 대해 생각을 해봤다. 엄청 간단한 최소공배수를 구하는 문제였지만 나는 다른 규칙을 찾으려고 엉뚱한 짓을 하여 시간을 많이 잡아 먹었다. 일단 코테를 풀 때 문제의 본질을 찾는 것이 제일 중요한 것 같다. 바로 풀지말고 문제를 잘 이해하자. 리빌딩 아카데미에서 오늘 팀 활동을 하였는데 활동을 하다가 문제가 있는 것 같아 다시 처음부터 리빌딩을 하였다. 그랬더니 시간이 부족하여 좋은 결과를 내지 못하였다. 처음에 팀원들과의 소통을 잘하였지만 나중에 시간이 급하니 소통이 줄어들고 문제를 해결하기 위해 급하게 행동을 하니 좋은결과를 얻지 못한 것 같았다. 현직으로 일하셨던 팀원에게 경험을 여쭤 봤는데 충분한 기획,회의를 통하여 리..
[프로그래머스] 최빈값 구하기
·
알고리즘/프로그래머스
첫 풀이이차원 배열로 풀려고 했다, 원소들의 값을 하나씩 비교해서 이차원 배열안에 넣어 출력을 해주려고 했다.import Foundationfunc solution(_ array: [Int]) -> Int { var myArray = [[Int]]() var Array = [Int]() var count = 0 var result = 0 var i = 0 var j = 0 var k = 0 while i 두번째 풀이문제를 이용해서 원소가 1000까지이니 새로운 1000개 배열을 만들어서 숫자에 따라 배열 자리수에 +1 을 해주었다.그렇게 되면 새로운 배열에 3이 4개가 있다면 새로운 배열 3번째 위치에 4가 있는 방식이다.그것을 비교하여 제일 높은 숫자가 있는 ..
[프로그래머스] 분수의 덧셈 구하기
·
알고리즘/프로그래머스
Lv 0 단계부터 시작하려고 합니다.하루에 한시간 이상씩 코딩테스트 문제를 연습하려고 합니다.정말 대충 넘기지 않고 제대로 하니 되게 오래걸리네요,, 벌써 새벽 4시반이네요 최소공배수 구하기var lcm = denom1 * denom2 / gcd(denom[0], denom[1])분자 합 구하기 sumNumer[0] = numer1 * (lcm/denom1) + numer2 * (lcm/denom2) sumDenom[0] = lcm기약분수 구하기 var gcdOfNumerAndDenom = gcd(sumNumer[0], sumDenom[0]) sumNumer[0] /= gcdOfNumerAndDenom sumDenom[0] /= gcdOfNumerAndDenom최대공약수 구하기..