목록PS (94)
Partially Committed
https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 중복된 원소가 존재할 수 있는 nums 배열 에서 nums.size()/2 개의 원소를 택할 때 최대한 다른 원소를 택할 수 있도록 해야한다. 이를 위해서 중복을 허용하지 않는 자료구조인 set 을 이용한다. set 에 nums 의 원소를 모두 insert 한 뒤, set 의 크기가 nums.size()/2 보다 작다면 set 의 크기가 답이고 set 의 크기..
https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 풀이1. 처음에 문제를 보고 바로 떠오른 방법이다. 그래서 그런지 다소 논리가 깔끔하지는 못한 것 같다... 1. hash 맵에 현재 학생들의 체육복 개수 현황을 저장한다. 2. 체육복이 없는 학생은 앞뒷번호의 학생이 체육복 여분이 있다면 체육복을 하나 줄 수 있다. 예를 들어 i 번째 학생이 체육복이 없다면 i-1 번째, i+1 번째 학생이 여분이 있다면 i 번..
https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr , , 와 같은 레코드를 가지는 해쉬 테이블을 만들어서 해결할 수 있다. 수포자1, 2, 3 이 문제를 찍는 방식은 각각 5, 8, 10 의 순환마디를 가지고 있으므로 이에 따라서 각각 맞은 점수를 증가시켜준다. 그리고 해쉬 테이블을 key 가 아닌 value 값을 기준으로..
https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 참가자 배열은 완주자 배열보다 항상 길이가 1 만큼 더 길다는 점을 이용하면 된다. 먼저 두 배열을 정렬한 다음, 뒷 부분의 원소들을 비교한다. 만약에 서로 같으면 각각 pop_back() 을 호출한다. 동명이인이 없는 경우에는 완주자 배열은 텅텅 비고 참가자 배열에는 1개의 원소만 남는데, 그것이 답이다. 만약 동명이인이 발생하는 경우에는 ..