본문 바로가기

백준23

[백준] 1715 카드 정렬하기 c++ https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 내 풀이 두 수를 더하고 다음 수에 대해 무언가를 해야한다고 생각해서 해맸다. (a, b, c, d .. 오름 차순으로 있다면 a + b 하고 c에 대해 해야한다고 ) 또한 수를 a, b, c, d, e, f 로 두고 대수적으로 풀려고 해서 꼬였다. 흔적.. 그래서 힌트를 봤는데 우선순위큐가 있었다. .. 제일 작은 두 수를 더한다. 그 다음은? 이라고 생각했는데 제일 작은 두수를 .. 2023. 1. 28.
[백준] 3078 좋은 친구 c++ https://www.acmicpc.net/problem/3078 3078번: 좋은 친구 첫째 줄에 N과 K가 주어진다. (3 ≤ N ≤ 300,000, 1 ≤ K ≤ N) 다음 N개 줄에는 상근이네 반 학생의 이름이 성적순으로 주어진다. 이름은 알파벳 대문자로 이루어져 있고, 2글자 ~ 20글자이다. www.acmicpc.net 정답률 29%인데 한번에 맞춰서 기분이 너무 너무 좋았다 💞 💞 💞 💞 💞 💞 💞 💞 💞 처음에 문제 봤을때 떠오른 생각은 뒤에 있는 k명하고 길이를 비교하는 것을 생각했는데 골드 4가 그렇게 쉬울리가 없고 정답률이 낮아서 그 방법은 아닐 것 같았다. 시간제한 1초이기도 했고. 풀이 *큐에는 k+1개를 담을 수 있다. 비교할 등수 범위를 정해준다. *배열 nameLength에는.. 2023. 1. 7.
[백준] 3980 선발 명단 c++ https://www.acmicpc.net/problem/3980 3980번: 선발 명단 각각의 테스트 케이스에 대해서, 모든 포지션의 선수를 채웠을 때, 능력치의 합의 최댓값을 한 줄에 하나씩 출력한다. 항상 하나 이상의 올바른 라인업을 만들 수 있다. www.acmicpc.net 브루트포스 알고리즘이 떠올랐는데 시간초과가 날까 걱정했다. 계산 횟수가 많을 것 같아서 고민해서 태그를 봤는데 브루트 포스 알고리즘이였다. 계산량 계산하는 것이 아직 어려웠다. 풀이 백트래킹을 통해서 선수들이 포지션을 가질 수 있는 모든 경우의 수를 계산한다. 주의 해야될 점은 아래 사진처럼 (0,0) , (1,1) , (2 , 2) 를 선택하고 3번째 선수로 넘어갈때 2번째 포지션은 이미 2번 째 선수가 가져가서 3번째 선.. 2023. 1. 7.
[백준] 22252 정보 상인 호석 c++ https://www.acmicpc.net/problem/22252 22252번: 정보 상인 호석 암흑가의 권력은 주먹과 정보에서 나온다. 주먹은 한 명에게 강하고, 정보는 세계를 가지고 놀 수 있기 때문에 호석이는 세상 모든 정보를 모으는 "정보 상인"이 되고 싶다. 정보 상인은 정보를 www.acmicpc.net 풀이 1. 고릴라가 가지는 정보의 가치는 arr벡터 배열에 저장한다. 2. 고릴라의 이름과 해당 고릴라가 파는 정보가 벡터의 몇번째에 들어 있는지는 map을 이용해서 저장한다. ex) arr[0] : 2 , 5 , 10 , 40, 1 map -> {'cpp',0}, {'java' ,1} arr[1] : 4, 3, 6 3.고릴라의 이름이 map에 저장되어 있는지 확인한다. 4.없으면 map에 .. 2023. 1. 5.