C++
-
백준(BOJ) 17471번 게리맨더링알고리즘 풀이/백준(Boj) 2019. 12. 15. 01:39
문제 : https://www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net 풀이: picked 배열과 나머지 temp 배열을 구한 후 BFS를 통해 연결되있는지 확인한다. 둘 다 연결이 된 상태라면 차를 구한다. picked 배열은 1부터 시작해서 23456까지 탐색하게 된다. 코드 ( C++ )
-
프로그래머스 - 다리를 지나는 트럭알고리즘 풀이/프로그래머스 2019. 12. 14. 11:58
문제 : https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 | 프로그래머스 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이는 bridge_length이고 다리는 무게 weight까지 견딥니다. ※ 트럭이 다리에 완전히 오르지 않은 경우, 이 트럭의 무게는 고려하지 않습니다. 예를 들어, 길이가 2이고 10kg 무게를 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서 programmers.co.kr 풀이 : cand의 second에는 +1씩 증가하도록 ..
-
백준(BOJ) 16922번 로마 숫자 만들기알고리즘 풀이/백준(Boj) 2019. 12. 9. 02:27
문제 : https://www.acmicpc.net/problem/16922 16922번: 로마 숫자 만들기 2, 6, 10, 11, 15, 20, 51, 55, 60, 100을 만들 수 있다. www.acmicpc.net 풀이 : 재귀적으로 구현해 주었는데 현재 위치를 고르고 다음 위치를 가는 경우와 현재 위치를 고르고 또 현재 위치에 남아있는 경우 현재 위치를 고르지 않고 다음 위치를 가는 경우 이렇게 3가지로 분류해 주었다. 코드 ( C++ )
-
프로그래머스 - H-Index알고리즘 풀이/프로그래머스 2019. 12. 8. 02:47
문제 : https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index | 프로그래머스 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h가 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H- programmers.co.kr 풀이 : h 은 1부터 돌면서 cnt를 센다. 조건에 맞게 ..
-
백준(BOJ) 16917번 양념 반 후라이드 반알고리즘 풀이/백준(Boj) 2019. 12. 8. 02:44
문제 : https://www.acmicpc.net/problem/16917 16917번: 양념 반 후라이드 반 현진 치킨에서 판매하는 치킨은 양념 치킨, 후라이드 치킨, 반반 치킨으로 총 세 종류이다. 반반 치킨은 절반은 양념 치킨, 절반은 후라이드 치킨으로 이루어져있다. 양념 치킨 한 마리의 가격은 A원, 후라이드 치킨 한 마리의 가격은 B원, 반반 치킨 한 마리의 가격은 C원이다. 상도는 오늘 파티를 위해 양념 치킨 최소 X마리, 후라이드 치킨 최소 Y마리를 구매하려고 한다. 반반 치킨을 두 마리 구입해 양념 치킨 하나와 후라이드 치킨 하나를 만드는 방법도 가 www.acmicpc.net 풀이 : C 같은 경우는 0.5씩 빠지므로 아예 2*C를 하나에 경우의 수로 보자 2*C를 i번 샀다면 A번은 ..
-
프로그래머스 - 위장알고리즘 풀이/프로그래머스 2019. 12. 5. 02:18
문제 : https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 | 프로그래머스 programmers.co.kr 풀이 : 해쉬맵을 만든 후 clothes의 사이즈 만큼 for문을 돌면서 값이 없다면 +1씩 추가해준다. 그러면 예제1을 예시로 m[handgear] 에는 2가 m[eyewear] 은 1이 저장된다. m[handgear] = 2 m[eyewear] = 1 이제 handgear 의 경우의 수는 3가지 ( 착용 x, yellow hat, green turban ) eyewear의 경우의 수는 2가지 ( 착용 x, blue sunglasses ) 이므로 총 경우의 수는 6가지가 나올 수 있다. 이때 모두 착용하지 않는 경우의 수..
-
백준(BOJ) 16988번 Baaaaaaaaaduk2 (Easy)알고리즘 풀이/백준(Boj) 2019. 12. 2. 01:21
문제 : https://www.acmicpc.net/problem/16988 16988번: Baaaaaaaaaduk2 (Easy) 서기 2116년, 인간은 더 이상 AI의 상대가 되지 못하게 되었다. 근력, 순발력, 창의력, 사고력, 문제해결능력, 심지어 인간미조차 AI가 인간을 앞선다. AI가 온 지구를 관리하며 이미 인류는 지구의 주인 자리에서 쫓겨난지 오래이다. 그나마 다행인 것은 AI가 인간을 적대적으로 대하지 않고, 도리어 AI가 쌓아올린 눈부신 기술의 발전으로 모든 사람이 무제한적인 재화를 사용할 수 있게 되어 한 세기 전의 사람들이 바라던 돈 많은 백수와 같은 삶을 누릴 www.acmicpc.net 풀이 : 우선 좌표값이 0인 좌표들만 v 배열에 넣는다. 그 후 2개씩 뽑아서 각각의 경우를 ..
-
프로그래머스 - 프린터알고리즘 풀이/프로그래머스 2019. 12. 1. 02:48
문제 : https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 | 프로그래머스 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 programmers.co.kr 풀이 : 조건이 만족한다면 동적 배열에 [0] 부분을 제거하고 조건이..