코딩테스트/프로그래머스
-
연속된 수의 합 (c++)코딩테스트/프로그래머스 2024. 1. 16. 02:32
sol 1. 연속된 수의 합 공식 구하기 [x, x + 1, ... , x + num - 1] → 총 num개의 수 nx + ∑i = nx + n(n + 1)/2 2. total 찾을 때까지 for 문 반복 shin0112/programmers_cpp: programmers' coding test solutions (github.com) 출처 : 프로그래머스 코딩 테스트 연습 -연속된 수의 합 https://school.programmers.co.kr/learn/courses/30/lessons/120923
-
[1차] 다트 게임 (c++)코딩테스트/프로그래머스 2024. 1. 16. 00:59
입력 : string sol 1. 내용 분류하기 숫자 - 10 예외처리 S or D or T * or # 2. 인덱스 조건에 맞춰서 잘 관리하기 고민 cmath or sstream을 작성하면 실행시간이 배 이상 늘어난다. cmath를 include해서 pow를 사용한 것보다 프로그래머스 환경에서 직접 제곱과 세제곱 함수를 만들고 사용하는 것이 더 빠르다! 결론 단순한 함수처럼 직접 구현하는데 시간이 많이 걸리지 않는다면, 직접 구현하는 것도 고려해보자. (include로 외부 라이브러리를 끌어와 사용하는 것은 얼마나 다양한 라이브러리를 사용해보았는지를 증명할 수 있을 것이고, 더 편리하겠지만, 코딩테스트의 목적이 신속&정확성이라면 더 빠른 방법을 찾는 것이 맞다고 생각..) 직접 함수 구현 cmath.p..
-
명예의 전당 (1) (c++)코딩테스트/프로그래머스 2024. 1. 13. 02:56
sol 1. k번까지는 비교 없이 전부 넣고 sort 2. k번 이후부터는 최소값이랑 비교해서 크면 sort, 아니면 continue 고민 우선순위 큐를 사용하는 방법도 가능하다고 한다. 벡터를 정렬하나 우선순위 큐를 사용하나 시간복잡도는 동일한데, 벡터를 사용할 경우에 조금 더 느리다. vector sort priority_queue vector sort : O(nlogn) push_back() : O(1) push : O(nlogn) pop : O(nlogn) 최상위 요소 접근 : O(1) score size() 만큼 for문 반복 : O(n) 명예의 전당에 올라가는 값 push : O(nlogn) sort() : O(nlogn) v[0]에 접근 : O(1) => O(n * nlogn) score.s..
-
-
가장 가까운 같은 글자(c++)코딩테스트/프로그래머스 2024. 1. 11. 22:04
입력 : 문자열 s ( 1 ≤ 길이 ≤ 10,000, 소문자 ) sol 1. 글자 위치를 표시하는 벡터 v 만들기 (a ~ z) vector v('z' - 'a' + 1, -1); 'z' : 122 'a' : 97 알파벳 숫자는 총 26개, 122 - 97 = 25 → 1 추가 2. s 알파벳 하나씩 확인하며 v값, answer값 작성 고민 map을 사용한다면? vector map 벡터의 index로 값을 접근하는 시간복잡도 : O(1) 현재 풀이로는 s의 길이만큼 for문이 돌아감 → 시간복잡도 : O(s의 길이) = O(n) 공간복잡도 : s의 길이(answer) + 26(알파벳 개수) = O(n + 26) = O(n) map 참조 : O(logn), 삽입 : O(logn) for문 내부에서 map ..
-
합성수 찾기(c++)코딩테스트/프로그래머스 2024. 1. 11. 21:25
입력 : 1 ≤ n ≤ 100 인 정수 합성수 : 약수의 개수가 세 개 이상인 수 10 이하 합성수 4 : 약수 1, 2, 4 6 : 약수 1, 2, 3, 6 sol 1 & 소수를 제외한 수 = 합성수 1 ~ n 내의 값 중 소수 구하기 (for) 소수 여부 확인 (for) ≫ O(n^2) 고민 solution 함수 내부에 2중 for문 만들기 vs 소수 구하는 함수 따로 빼서 호출하기 shin0112/programmers_cpp: programmers' coding test solutions (github.com) 출처 : 프로그래머스 코딩 테스트 연습 - 합성수 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/120846
-
프로그래머스 저작권코딩테스트/프로그래머스 2024. 1. 11. 16:36
프로그래머스의 문제를 외부에 게시할 수 있나요? – 프로그래머스 (zendesk.com) 코딩 테스트 연습 문제 코딩테스트 연습에 공개된 문제는 (주)그렙이 저작권을 가지고 있습니다. (지문 하단에 별도 저작권 표시 문제 제외) 코딩테스트 연습 문제의 지문, 테스트케이스, 풀이 등과 같은 정보는 비상업적, 비영리적 용도로 게시할 수 있습니다. 다만 문제의 지문, 풀이 등과 같은 정보를 단순히 게시하는 것을 넘어, 이를 바탕으로 문제를 풀고 채점이 가능하도록 하는 등의 방식으로 활용하는 것은 제한됩니다. ※ 2020 KAKAO BLIND RECRUITMENT, Summer/Winter Coding 등의 문제는 기업 코딩 테스트에 나온 문제이나, 코딩테스트 연습에 공개된 문제이기 때문에 마찬가지로 비상업적,..