본문 바로가기

Swift랑 친해지기/programmers 풀기174

[프로그래머스] 기사단원의 무기 (Swift) https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr try) 1. 1부터 number를 돌면서 약수를 구하려했다. 2-1)약수를 구할때 1부터 number까지의 수를 돌면서 나누어 떨어지면 약수이니 count를 늘리는 방식으로 했다. -> 불필요한 반복을 진행해 실행 초과가 났다. 2-2)약수는 보통 쌍을 이루니 number의 중간 수까지 나누어 떨어지는 수를 구한다음 쌍에 맞게 추가하는 방식으로 했다. -> number가 10일 경우 10 / .. 2023. 10. 31.
[프로그래머스] 대충 만든 자판 (Swift) https://school.programmers.co.kr/learn/courses/30/lessons/160586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import Foundation func solution(_ keymap:[String], _ targets:[String]) -> [Int] { var dic: [String:Int] = [:] var result = [Int]() // dic- key:알파벳, value: index 저장 for k in keymap{ var index = 1 for word in k{ if dic[Strin.. 2023. 10. 30.
[프로그래머스] 뒤에 있는 큰 수 찾기 (Swift) https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - Stack 을 이용하여 현재 수보다 크지 못한 수들의 위치를 push해서 쌓아 올림 - 큰수가 생기면 result의 요소들을 다음으로 큰수로 변경 * 7, 20~23 번 런타임, 실행초과 에러 = For문 중복 + 마지막 요소가 큰 수 일 경우 비효율 적일 수 있음 import Foundation func solution(_ numbers:[Int]) -> [Int] { var result .. 2023. 10. 12.
[프로그래머스] 연속된 부분 수열의 합 (Swift) https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나만의 풀이 방법) - 왼쪽 인덱스 left 와 오른쪽 인덱스 right 지점을 정한다. - left부터 right 구간에 속한 값들을 모두 더한 것이 sum이다. - 만약 sum이 k보다 작다면 right 값을 1증가시키고 sequence[right] 를 sum에 더해준다. 이유: 구간의 합이 k보다 적기 때문에 다음 인덱스값을 더함 *이때 right값이 sequence배열의 갯수 보다 크면 .. 2023. 9. 6.