본문 바로가기
반응형

알고리즘38

[cpp 알고리즘] 백준 4396 지뢰 찾기 [백준] 4396 지뢰 찾기 cpp 풀이알고리즘: 구현https://www.acmicpc.net/problem/4396 문제 요약 N*N의 지뢰 판이 주어지고, M개의 지뢰가 있다. - 입력1) 온점(.)은 지뢰가 없고, 별표(*)는 지뢰가 있는 지점이다.- 입력2) 이미 열린 칸은 영소문자x로, 열리지 않은 칸은 온점(.)으로 표시된다. - 출력) (1) 지뢰가 없으면서 열린 칸은 0~8 사이의 숫자, (2) 지뢰가 있는 칸이 열렸으면 지뢰가 있는 모든 칸을 별표(*)로, (3) 다른 모든 지점은 온점(.) 으로 표현해야 한다. 문제를 이해하는 것과 주어진 테스트코드로 이해는 쉬웠으나, 몇 가지 경우에 대해 더 생각해 봐야 한다...😒풀이 정리(1) 우선 N*N의 기본 지뢰 판을 만들고, 온점(.)과.. 2024. 7. 8.
[cpp 알고리즘] 백준 17291 새끼치기 [백준] 17291 새끼치기 cpp 풀이알고리즘: 구현, 다이나믹 프로그래밍(DP)https://www.acmicpc.net/problem/17291문제 요약아래의 벌레 분열 규칙만 고려해서 코드를 풀이하면 된다.  벌레는 기준년도 1년 2월에 1마리가 탄생한다.벌레는 매년 1월이 되면 분열한다. 분열시 본래의 개체는 그대로, 새로운 개체가 하나 탄생하는 것으로 본다.홀수년도에 탄생한 개체는 3번 분열시, 짝수년도에 탄생한 개체는 4번 분열시 사망한다.이 때, N년 말에 존재하는 벌레의 수를 구하면 된다. 풀이 정리- 기준년도 1년 2월 = 1 마리- 2년 1월 = 1 + 1(새로 분열)- 3년 1월 = 1 + 1 + 2(새로 분열) - 4년 1월 = 1 + 1 + 2 + 4(새로 분열) - 1(기준년도.. 2024. 7. 7.
[cpp 알고리즘] 백준 9242 폭탄 해체 [백준] 9242 폭탄 해체 cpp 풀이구현, 문자열, 파싱https://www.acmicpc.net/problem/9242 문제 요약### ### ### ### ### ### ### ### ### ###*** * *** *** * * *** *** *** *** **** * * * * * * * * * * * * ** * * *** *** *** *** *** * *** **** * * * * * * * * * * * **** * *** *** * *** *** * *** *** - 0부터 9까지 숫자를 5×3으로 나타내는 방법이다.- 이렇게 숫자를 표현하였을 때, 6으로 나누어 떨어지면 "BEER!!"를, 그렇지 않으면 "BOMB!!.. 2024. 7. 4.
[cpp 알고리즘] 백준 1744 수 묶기 [백준] 1744 수 묶기 풀이 그리디 알고리즘, 정렬, 많은 조건 분기 문제 출처: https://www.acmicpc.net/problem/1744 문제 요약 - 길이가 N인 수열이 주어졌을 때, 두 수를 곱하거나 그대로 둘 수 있다. 이 수들을 모두 더한 값들 중 최댓값을 구하면 된다. 풀이 정리 1. 일단 오름차순으로 정렬한다. 2. 숫자 1을 기준으로 3가지 경우로 나뉘어진다. (1) 1보다 작은, 0이거나 음수인 경우 -> 앞쪽(작은 수)부터 두 수를 곱해서 최종 결과 값에 더하면 된다. (2) 1인 경우 -> 곱하는 데 사용하지 않고, 더하면 된다. (3) 1보다 큰 양수인 경우 -> 뒤쪽(큰 수)부터 두 수를 곱해서 최종 결과 값에 더하면 된다. 3. (1)의 경우 혹은 (3)의 경우가 홀.. 2023. 11. 11.
반응형