본문 바로가기
728x90
반응형

C++43

[백준]1296번: 팀 이름 정하기 https://www.acmicpc.net/problem/1296 1296번: 팀 이름 정하기 연두는 프로그래밍 대회에 나갈 팀 이름을 정하려고 한다. 미신을 믿는 연두는 이환이에게 공식을 하나 받아왔고, 이 공식을 이용해 우승할 확률이 가장 높은 팀 이름을 찾으려고 한다. 이환 www.acmicpc.net 푸는데 나름 재밌는 문제였어서 풀이를 올리려 합니다. 접근 아이디어는 다음과 같습니다. 1) vector를 통해 (이길 확률, 팀명)을 저장 받습니다. 또한 loveArry를 통해 LOVE 순서대로 개수를 카운팅 한다. 2) LOVE를 개수를 연두 이름과 팀명을 받아 카운팅 해주는 CountLove 함수를 선언한다. 3) 카운팅 된 값을 기준으로 확률을 연산하여 pair의 first값에 해당 팀명에 .. 2023. 12. 13.
[백준]25497번: 기술 연계마스터 임스 https://www.acmicpc.net/problem/25497 25497번: 기술 연계마스터 임스 $1$, $2$, $S$ - $K$, $2$로 스킬을 성공적으로 총 4번 사용했다. www.acmicpc.net 자료구조 알고리즘 중 stack을 이용한 문제다. 푼 사람이 적어 내가 고민한 아이디어를 공유해보려 한다. string을 통해 기술을 입력 받는다면 사실상 N은 필요없다. 접근 아이디어는 다음과 같다. 스킬을 보면 SK와 LR은 세트다. 즉 S가 먼저 나와야 K가 가능하고 L이 먼저 나와야 R이 가능하다. 그렇다면 이 두개의 세트를 담을 stack을 준비한다. 각 stack은 SK와 LR만을 담는다. 이때 lrCombo stack은 LR만을 skCombo stack은 SK 기술만을 처리한다... 2023. 12. 6.
[백준]2018: 수들의 합 5 https://www.acmicpc.net/problem/2018 2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한 www.acmicpc.net 투 포인터 개념에 대해 처음 접해봤다. 사실상 반복문에서 범위를 빠르게 정해가며 계산하기 위한 개념임을 배웠다. 즉 while 문을 도는데 start와 end 변수를 활용해 start ~ end까지 합을 구해가며 주어진 N과 비교하는 방법이다. start, end, cnt 변수를 준비하고 start = 1, end = 1, cnt = 1에서 시작한다. start + end =.. 2023. 12. 5.
[백준]11501번: 주식 https://www.acmicpc.net/problem/11501 11501번: 주식 입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타 www.acmicpc.net 주어진 예시에서 주가가 10 7 6이면 최대 이익이 0이고 주가가 1 1 3 1 2 면 최대 이익이 5다. 접근 방법은 다음과 같다. 1) 배열에 주가를 담아놓는다. ex) 1 1 3 1 2 2) 최대 주가(maxStock)와 최종 이익(totalProfit) 변수를 선언한다. maxStock은 가장 큰 주가를 의미하며 totalProfit은 최대 이익을 의미한다. 3-1) maxSt.. 2023. 11. 27.
[백준]11652번: 카드 https://www.acmicpc.net/problem/11652 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net 문제를 보면 가장 중복이 많은 수를 뽑는게 핵심이다. 접근 아이디어는 다음과 같다. 1. 우선 카드 배열에 정수를 다 입력 받는다. 2. 오름차순으로 정렬한다. 3. 현재 중복된 카드 횟수를 저장할 변수 (dupliCnt)와 지금까지 가장 많이 중복된 카드 횟수를 저장할 변수 (maxDupliCnt)를 선언한다. 4. for문을 돌면서 카드가 중복되면 dupliCnt를 증가시키고 이 값이 m.. 2023. 11. 24.
[백준]15900번: 나무 탈출 https://www.acmicpc.net/problem/15900 15900번: 나무 탈출 평소에 사이가 좋지 않던 성원이와 형석이가 드디어 제대로 한 판 붙으려고 한다. 성원이와 형석이 둘과 모두 똑같이 친한 인섭이가 대결 종목을 정해 가져왔다. 바로 '나무 탈출' 이라는 보드게 www.acmicpc.net 문제를 간단하게 요약하면 다음과 같다. - 1은 루트 노드다. - 초기 모든 리프 노드에만 말이 있다. - 말이 루트 노드(1)에 도착하면 제거한다. - 게임은 성원이가 먼저 시작하며 우리가 원하는건 성원이가 이기면 "Yes"를 지면 "No"를 출력하는 것이다. 접근 아이디어 - 몇 개의 트리를 그리고 시뮬레이션 해보면 다음과 같은 규칙을 발견할 수 있다. - 루트노드에서 모든 리프 노드까지의 d.. 2023. 11. 23.
728x90
반응형