알고리즘/Programmers

프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12943 풀이 func solution(_ num:Int) -> Int { guard num != 1 else { return 0 } var value: Int = num var count: Int = 0 while value != 1 && count
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12912 풀이 func solution(_ a:Int, _ b:Int) -> Int64 { if a == b { return Int64(a) } else { return Int64((a a와 b의 대소관계는 정해져있지 않습니다. Swift의 범위 연산자 ... 는 반드시 앞에 작은 수가 와야 하기 때문에 a와 b 둘 중 무엇이 더 큰지 확인해주어야 한다
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12934 풀이 import Foundation func solution(_ n:Int64) -> Int64 { let value = Int64(sqrt(Double(n))) return value*value == n ? (value+1)*(value+1) : -1 } 문제 더보기 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 중요 개념 제곱근 메소드를 사용해서 체크해주는게 우선이다 -> sqrt() ..
프로그래머스 문제 링크 :https://school.programmers.co.kr/learn/courses/30/lessons/12947 풀이 import Foundation func solution(_ x:Int) -> Bool { let sum = String(x).reduce(0, {$0 + Int(String($1))!}) return x%sum == 0 ? true : false } 중요 개념 양의 정수 x가 주어졌을 때 x 자릿수 합으로 x가 나누어 떨어져야 한다 x 자릿수의 합을 구해서 x의 나머지가 0인지 아닌지 확인하면 된다 x 자릿수의 합 구하기 -> reduce() 사용 나머지 구하는 연산자 -> % 하다가 웃겨서 남겨두고 싶었던 내 풀이... print 값 보려고 노력하는게 가상하다
프로그래머스 문제 링크 :https://school.programmers.co.kr/learn/courses/30/lessons/12933 풀이 func solution(_ n:Int64) -> Int64 { return Int64(String(String(n).sorted(by: >)))! } String(n).sorted(by: >) -> 배열 String(String(n).sorted(by: >)) -> 문자열로 바꿔주기 Int64(String(String(n).sorted(by: >))) -> 반환형 맞춰주기 / 옵셔널로 리턴됨 강체추출 ! 를 해준다 중요 개념 내림차순, 오름차순으로 정렬할 수 있는 메소드 sorted(by:) 를 이용한다 sorted(by: >) -> 내림차순으로 정렬 http..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12932 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 # 1번풀이 func solution(_ n:Int64) -> [Int] { let value = String(n).reversed() return value.map{ Int(String($0))! } } # 2번풀이 func solution(_ n:Int64) -> [Int] { let arr = String(n).map{ Int(String($0))! } ret..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12931 풀이 import Foundation func solution(_ n:Int) -> Int { var answer:Int = String(n).reduce (0, { $0 + Int(String($1))! }) return answer } 중요 개념 입력받은 자연수가 있다. 각 자릿수의 합을 구하는 문제이다. N = 123이면 1 + 2 + 3 = 6을 return reduce 컨테이너 내부의 값을 하나로 통합하여 더하는 메소드 func reduce( _ initialResult: Result, _ nextPartialResult: (Result, Self.Elem..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/181948 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 import Foundation print(#"!@#$%^&*(\'"?:;"#) 중요 개념 특수문자를 출력하기 위해서는 문자열 따옴표 앞 뒤로 # 를 붙여준다 여러줄의 문자열을 출력하기 위해서는 문자열 따옴표 대신 """를 사용한다 let starWars = """ SHIP NAME CLASS DEPLOYMENT IN SERVICE N2 Bomber Heavy F..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/181949 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 import Foundation let s1 = readLine()!.map{ $0.isUppercase ? $0.lowercased() : $0.uppercased() }.joined() print(s1) 중요 개념 대,소문자를 체크한 뒤 반대로 바꾸어 주는 문제이다 uppercase, lowercase 라는 단어를 알고 있어서 힌트를 쉽게 캐치해냈다 https..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/181950 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 import Foundation let inp = readLine()!.components(separatedBy: [" "]).map { $0 } let (s1, a) = (inp[0], Int(inp[1])!) print(String(repeating: s1, count: a)) 중요 개념 문자열을 주어진 횟수만큼 반복해서 출력하는 문제이다 init( repea..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/181850 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 import Foundation func solution(_ flo:Double) -> Int { return Int(flo) } 중요 개념 실수의 소숫점 아래 숫자를 버리고 정수로 만들어주는 문제이다 간단하게 Int 로 형변환 해주어 해결한다
프로그래머스 알고리즘 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/181863 풀이 import Foundation func solution(_ rny_string:String) -> String { let answer = rny_string.replacingOccurrences(of:"m",with:"rn") return answer } 중요 개념 m이라는 문자를 rn이라는 다른 문자로 치환하는 문제이다 문자열 치환 메소드를 사용한다 replacingOccurrences(of:with:) of: "기존 문자" with: "바꿀 문자" https://developer.apple.com/documentation/foundation/n..
YEN_
'알고리즘/Programmers' 카테고리의 글 목록 (3 Page)