문제 링크 코딩테스트 연습 - 방문 길이 programmers.co.kr 풀이 범위 검사, 방문 이력 검사 함수와 x, y는 row, column으로 대조하여 풀었다. // Node 구조체 row, column의 int 타입을 가지며 1)생성자와 2)복사 생성자, 3)비교 연산자 오버로딩, 4)대입 연산자 오버로딩을 정의하여 다른 외부에서 편하게 사용하였다.(참고로 Java에서는 this가 참조자고 C++에서는 this가 포인터라는 것을 일깨워줌) // check_range 함수 범위 체크 함수. size를 받아 범위를 초과하는지 체크한다. // check_visit 함수 방문 이력 체크 함수. tuple을 모아놓은 vector 컨테이너를 방문 이력으로 참조자를 사용하여 갱신(push_back)되도록 한..
문제 링크 코딩테스트 연습 - 숫자 게임 xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다. 먼저 모든 사원이 무작위로 � programmers.co.kr 풀이 주어진 문제가 구하는 것은 "최대 승점"이다. A팀의 점수보다 큰 B팀의 점수 중에서 최소 값으로 1경기씩 나간 것이 "최대 승점"이다. 그래서 sort로 정렬해서 할까하다가 priority_queue에 넣고 (넣은 방향 기준)내림차순 정렬로 하나씩 빼면서 승점을 올렸다. // 요약 1) 우선순위 큐에 push 2) 승점 추가(A팀의 점수보다 큰 B팀의 점수 중 최소 값을 결정) 반복문(B팀원의 수가 없을 때까지) { A팀원 숫..
문제 링크 코딩테스트 연습 - 기지국 설치 N개의 아파트가 일렬로 쭉 늘어서 있습니다. 이 중에서 일부 아파트 옥상에는 4g 기지국이 설치되어 있습니다. 기술이 발전해 5g 수요가 높아져 4g 기지국을 5g 기지국으로 바꾸려 합니다. 그런데 5 programmers.co.kr 풀이 전달되지 않는 범위를 ranges 컨테이너에 담아서 최소 개수를 리턴하여 풀었다. 최소 개수만을 리턴하는 문제이므로 전달되지 않는 범위(vector 컨테이너 값) / 전달 범위(2w+1)가 최소 개수고 전달되지 않는 범위(vector 컨테이너 값) % 전달 범위(2w+1)로 나머지가 있다면 기지국 1개를 더 추가해준다. 더보기 #include #include using namespace std; // 아파트 개수 n, 사전 기..