프로그래머스20 [프로그래머스] Lv. 1 로또의 최고 순위와 최저 순위 c++ https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 lottos의 0의 개수와(zero) win_nums와 일치하는 숫자의 개수(same)를 세어준다. 일치할 수 있는 최대 개수는 zero+same이고 최소한 same개는 일치한다. 일치하는 개수를 등수로 변환해 준다. 6등 이하는 없기 때문에 일치하는 것이 없거나(min==7) , 0도 없고 일치하는 것도 없는 경우에(max==7) 등수를 예외처리 해주었다. #include #include .. 2023. 1. 3. [프로그래머스] Lv2 튜플 https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 문제를 잘못 읽어서 나온 숫자만 중복을 제외해서 반환하면 되는 줄 알았다. 두 번째도 문제를 잘못 읽어서 나온 순서대로 중복을 제외해서 반환하면 되는 줄 알았다. 다시 한번 자세하게 읽어보니까 첫번쨰 원소, 첫번째 원소+ 두번째 원소.... 만약에 튜플의 개수가 5개면 a1은 5번 a2는 4번 an은 1번 들어간다. *문제를 꼼꼼히 읽자. 풀이 1.문자열중에서 숫자를 문자열로 추출하기 2... 2023. 1. 1. [프로그래머스] 디펜스 게임 c++ *O(nlogn)안에 풀어야 할 때 최소 힙 생각하기 풀이 1.최소 힙을 통해서 enemy 벡터를 앞에서부터 정렬해준다. 2. 최소힙의 사이즈가 k개가 넘어가면 최소힙의 제일 작은 원소 즉 0번째 값을 삭제하고 sum에 더한다. (top(), pop() 사용) 3. sum이 n보다 커지면 for문을 탈출한다. 이때 i값이 답. 모든 라운드를 막을 수 있을때는 enemy의 size 반환. **제일 큰 k개에 "무조건"을 써야되기 때문에 최대힙을 써야할줄 알았는데 최소힙을 써야했다. 왜냐하면 pop()을 할때 맨 앞에 있는 원소를 삭제하는데 제일 작은 원소를 삭제하기 위해서이다. #include #include #include using namespace std; int solution(int n, int .. 2023. 1. 1. [프로그래머스] 두 큐 합 같게 만들기 c++ https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 새롭게 알게 된 것 벡터 원소 더하기 #include accumulate(v.begin(), v.end(), 0); 삽질을 많이 했다. 첫번째는 큐 1과 큐 2 내에서 절반이 있는 경우를 찾고 그다음은 이어져서 있는 경우를 찾으려고 했는데 복잡하고 매번 합을 구해야 해서(O(n)) 시간 초과가 났다. 그래서 sum을 미리 구하고 빼고 더하는 방식(O(1))으로 바꾸려고 했는데 모든 경우의수를 구.. 2022. 12. 8. 이전 1 2 3 4 5 다음