목록Algorithms (14)
유리의 개발새발
https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제를 읽자마자 바로 뭘 써야 할지 알아야 한다.나는 DFS를 선택했다. 왜냐고?배열에서 +와 -를 조합해서 target을 만드는 경우의 수를 구하는 문제였기 때문이다.모든 경우의 수를 끝까지 탐색해야 하기 때문에 깊이 우선 탐색이 적합하다고 느꼈다.혹시 스택, 재귀, 너비 우선 탐색(BFS), 깊이 우선 탐색(DFS)의 개념이 낯설다면, 개념을 먼저 익히고 다시 돌아오는 걸 추천한다. 우선 코드 먼..
https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr철호는 수열을 가지고 노는 걸 좋아하는구나... 독특하네...문제를 읽고 난 셋(Set)과 원형 버퍼를 떠올렸지만, 풀지는 못했다ㅎ이걸 바로 알아차리고 문제를 푸는 연습을 좀 더 해야겠다는 생각이 드는군요.우선, 확실한 건 셋(Set) 임 자, 원형 배열이라고 했잖아요.이럴 때는 elements 배열을 두 번 이어 붙이는 방법을 사용하면 됩니다.그러면 배열의 끝과 시작이 연결된 부분 수열을 쉽게 처리..
A, B 두 개의 집합이 주어지면 두 집합의 공통 원소를 추출하여 오름차순으로 출력하는 프로 그램을 작성하세요.문제가 주어지면 무슨 생각함? 당연히 Set아님? 그렇다면 여러분과 저는 코테 떨어진거임.func mySolution(_ arrA:[Int], _ arrB:[Int]) -> [Int] { let setA:Set = Set(arrA) let setB:Set = Set(arrB) let intersection = setA.intersection(setB) return Array(intersection).sorted()}print(mySolution([1,3,9,5,2], [3,2,5,7,8])) // [2,3,5] 난 이렇게 구현했다. 근데 two points algorithm..
https://school.programmers.co.kr/learn/courses/30/lessons/12921 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 코딩 테스트 풀이 과정을 글로 쓰지는 않는데, 이번 문제는 이상하게 어려웠다. 그래서 글로 남겨보려고 한다.소수 찾기 문제를 푸는데 하나 마음에 걸리는 것이 있었다. 백만이라는 수가 들어오면 시간 복잡도가 어떻게 되냐? 하나하나 비교하면 테스트 케이스에서 분명 걸릴 텐데?그래도 일단 해봤다.역시나-그래, 문제가 뭔지는 알아.문제는 해결법을 모름ㅎ내가 코테를 풀면서 가장 후회하는 것은 학창 시절 수..