[프로그래머스/Swift] 덧칠하기
·
알고리즘/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Bool 배열에 안 칠한 부분(0) 칠한 부분(1)을 구분해서 넣어줬다. 그리고 전체를 돌면서 안칠한 부분이라면 그곳에서 시작해서 m길이만큼 칠해줬다. 여기서 분기점이 하나 있는데, 어떤 지점 i에서 m 길이만큼 칠할 수 없는 경우다. 즉, i에서 칠하게 되면 롤러의 길이가 남은 부분의 길이보다 길어서 넘어가는 부분! 벗어나면 안 된다고 문제에 명시되어 있기 때문에 그리고 배열의 out of r..
[프로그래머스/Swift] 택배 배달과 수거하기
·
알고리즘/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 가장 먼 거리를 먼저 끝내면 된다! 가장 먼 거리는 한 번만 가도록 한다. (최소 거리를 위해) 일단 이 문제는 stack으로 풀었다. 그전에, 뒤에서부터 배달 / 수거할 것이 없는 곳은 제거해 줬다. 0은 갈 필요 없으니... 그리고 수거할 곳, 배달할 곳 중 더 먼 곳을 answer에 넣어줬다. * 2를 한 이유는 왕복이니까. box에 택배트럭에 담은 박스 개수를 넣어준 변수다. ..
[프로그래머스/Swift] 이모티콘 할인 행사 (2023 Kakao Blind)
·
알고리즘/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 블라인드 테스트땐 이 문제를 왜 못 풀었을까.. 내가 발전한 건지 아니면 전이 너무 부족했던 건지..^^ 우선 이모티콘마다 할인율을 정해주면 된다. 여기서 주의할 것은 하나의 할인율이 여러 이모티콘에 적용될 수 있다는 것! 즉, 중복 순열~ BT를 통해 중복 순열을 정해주고(combination), calculate 함수를 통해 결과값을 계산해 줬다. - 이모티콘 매출액(amount) - 서비스..
[프로그래머스/Swift] 둘만의 암호
·
알고리즘/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 새로운 Lv1 문제가 나왔다. 이런 건 다 풀어줘야지~~ 문자열 유형이었는데, 알파벳을 배열(alph)에 넣고 진행해 줬다. 문자열 배열 s를 순회하면서 시작위치를 idx에 넣어줬는데 여기서 UnicodeScalar를 사용해서 "a"를 기준으로 상대적인 위치값을 구했다. 그리고 문제를 잘 읽어보면 skip에 포함된 알파벳을 무시하고 넘어가야 되기 때문에 if 조건문을 달아줬다. skip에 포함되..
[프로그래머스/Swift] k진수에서 소수 개수 구하기
·
알고리즘/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr String 이니셜라이저를 통해 k진수로 바꿀 수 있다! 조건을 보니 0을 기준으로 문자들을 나누면 될 것 같았다. 그다음 소수인지 판별만 해주면 된다. import Foundation func isPrime(num: Int) -> Bool { if num < 4 { return num == 1 ? false: true } for i in 2...Int(sqrt(Double(num))) { if ..
[프로그래머스/Swift] 점프와 순간 이동
·
알고리즘/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에서도 주어지지만 점프로 이동하는 것을 최소로 하려고 한다! 그러니까.. 최대한 순간이동을 사용해서 진행해야 한다는 것이다. 그래서 그리디 문제인가?? 생각했고 우선 DFS로 해봤다. 먼저 순간이동으로 DFS를 재귀호출하고 그다음은 1... k칸을 이동하면서 진행하도록 했는데 5000도 시간초과로 통과하지 못했다ㅋㅋ 그래서 흠... 일단 아이패드에 예제에 규칙이 있는지 적어봤다. 순간이동을 x..
[프로그래머스/Swift] 배달
·
알고리즘/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12978 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제를 보고 처음에는 최단 거리를 구하는 문제니 BFS로 풀려고 했다. 그런데 풀다 보니 전에 C++로 풀었던 다익스트라를 사용해야겠구나! 생각했다. 그런데 priority_queue STL로 없어서 직접 구현해야 했다.. 코테를 풀 때 이래서 c++ 나 파이썬을 사용하는구나... 이걸 언제 다 구현하고 앉아있지..? Swift한테 너무 가혹한 거 아닌가요?ㅠㅠ 다익스트라 자체는 생각보다 쉽..
[프로그래머스/Swift] 연속 부분 수열 합의 개수
·
알고리즘/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 평소 연속 부분 수열 문제는 굉장히 많이 접해봤었다. 이 문제는 최대 범위가 1000으로 짧아서 시간 초과 안 나오겠지? 하는 마음으로 완전탐색을 구현했다. 문제에서도 알려주는데, 길이가 1~n(elements.count)개의 부분 수열의 합을 구하면 된다. 반복문을 돌리기 전에 나는 길이 1인 부분 수열의 합과 길이 n인 부분 수열의 합을 먼저 구해서 set에 넣었다. set을 사용한 이유는 ..
[프로그래머스/Swift] 할인 행사
·
알고리즘/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 길이가 100,000 여서 완전탐색으로 해봤다. 내가 사고 싶은 제품과 개수를 wanted라는 딕셔너리에 넣고, 할인 제품을 쭉 체크하면서 원하는 제품을 모두 샀는지 확인했다. 여기서 자신이 원하는 제품과 수량이 할인하는 날짜와 10일 연속으로 일치해야 한다고 했다. 그리고 제품의 총 개수 10이므로 무조건 10일 내의 제품을 모두 사야 한다는 것!!!! 그러므로 1일(0)부터 할인하는 날 - ..
녕이
'알고리즘/프로그래머스' 카테고리의 글 목록