본문 바로가기

반응형

분류 전체보기

(591)
[백준 5585 c++] 거스름돈 문제 링크 www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net 문제 접근 // 접근: 거스름돈 최소 동전개수 -> 그리디 문제 풀이 // 풀이: 그리디 알고리즘으로 큰 동전부터 나누어 가면서 동전의 개수 카운트 주의 개념 소스코드 #define _CRT_SECURE_NO_WARNINGS #include #include // c 문법 헤더파일 #include // c++ 문자열 클래스 #include // 동적배열 라이브러리 #include ..
[백준 11034 c++] 캥거루 세마리2 문제 링크 www.acmicpc.net/problem/11034 11034번: 캥거루 세마리2 여러개의 테스트 케이스로 이루어져 있으며, 세 캥거루의 초기 위치 A, B, C가 주어진다. (0 그리디? 문제 풀이 // 풀이: 한 캥거루의 최대 이동 횟수는 두 캥거루 사이의 거리-1 과 같다 주의 // 주의: 테스트 케이스의 갯수가 지정이 안되어있는데 이를 scanf("%d", &kang[0]) != EOF 라 해야함,scanf자체를 비교해야 함 개념 // 개념: EOF(end of file) 로 -1 값을 가진다 소스코드 #define _CRT_SECURE_NO_WARNINGS #include #incl..
[백준 1620 c++] 나는야 포켓몬 마스터 이다솜 문제 링크 www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 문제 접근 // 접근: 문자열 저장후 문자나 인덱스로 참조 => 벡터에 string 형 저장하고 find로 탐색 // 하지만 시간초과 문제 풀이 // 풀이: 벡터에 string 저장, map에 저장후 해싱기법으로 인덱스 log(1) 주의 개념 // 개념: stoi(문자열) : 문자열을 숫자로(string형 가능) // 개념: string 자료형은 == 원소나 문자열 바교나..
[백준 1107 c++] 리모컨 문제 링크 www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 문제 접근 // 접근: 채널보다 큰수중에 최소차이,채널보다 작은 수 중에 최소차이, 100에서 ++버튼으로 최소차이 // 중 최소값 찾으려 했으나 저건이 넘 많아지 문제 풀이 // 풀이: 그래서 0부터 1000000까지 탐색하며 최소차이이며 고장난 버튼 없는지 검사함 주의 // 주의: 채널과 최소차이는 채널버튼 누르는것 까지 더해야 한다 개념 // 개념: abs() : 절댓값 소스코드..
[백준 7662 c++] 이중 우선순위 큐 문제 링크 www.acmicpc.net/problem/7662 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net 문제 접근 // 접근: 이중 우선순위 큐-> 데크나 priority_que 맥스힙 민힙 해서 할라했으나 원소 삭제하는 데에서 막힘 // 접근2: AVL트리 자료형 set 이용해서 함 근데 중복이 안됨 // 접근 3: multiset 은 같은 균형잡힌 이진트리인데 중복허용 문제 풀이 // 풀이: multiset 이용해서 삽입시 자동 정렬, 삭제시 최대최소가 맨앞,맨뒤 원소 주의 // 주의: set ..
[백준 1780번 c++] 종이의 개수 문제 링크 https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1의 세 값 중 하나가 저장되어 있다. 우리는 이 행렬을 적절한 크기로 자르려고 하는데, 이때 다음의 규칙에 따라 자르려고 한다. www.acmicpc.net 문제 접근 // 백준 1780번 종이의 개수 // 접근: 백준 다른4분할 문제랑 비슷하다고 생각하고 분할정복 생각함 문제 풀이 // 풀이: 분할정복 재귀를 이용해 각 구역에서 탐색하다 숫자 다르면 9분할 함 주의 // 주의: 분할할 때 인덱스 조심 소스코드 #define _CRT_SECURE_NO_WARNINGS #include #include // c 문법 헤더파일 #inc..
[백준 1676번 c++] 팩토리얼 0의 개수 문제 링크https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 접근 // 접급1: 팩토리얼값 구하고 문자열로 변환 후 뒤에서부터 계산 // 접근2: 팩토리얼값 구한 뒤 mod이용해서 숫자 뒤에서 부터 차례로 // 접근이 다 시간초과나서 틀리는듯 문제 풀이 // 풀이: 소인수 분해 결과 2*5 가 10으로 0이 나오므로 2와5의 개수중 작은것이 0의 개수이다 // 그런데 5의개수가 2의 개수보단 항상 작으므로 5의 개수를 구한다 // 5의 개수를 구하는데 5,25,125 를 나눈 몫을 합한것이 5의 개수 주의 // 주의: strin..

반응형