본문 바로가기

코딩테스트_백준풀이54

행렬 #1080 c++ 풀이 https://www.acmicpc.net/problem/1080 1080번: 행렬 첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어지고, 그 다음줄부터 N개의 줄에는 행렬 B가 주어진다. www.acmicpc.net 내가좋아하는 행렬 문제 근데, 왜 Greedy알고리즘인지 모르고 풀었다. 검사해서 3개씩 바꿀건데 바꾸기전과 바꾼후가 다르면 결국 변환시킬수 없는 것이다. 따라서, 우선 변환시키고 다르면, 변환했을때를 비교해서 검사했다. #include using namespace std; int arr[51][51]; int answer[51][51]; int N, M; int cnt; void change(int y, in.. 2023. 11. 22.
신입사원 #1946 c++ 풀이 https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net dp를 어느정도 감을잡고 greedy를 푸는 중이다. 1 4 2 3 3 2 4 1 5 5 로 sort후, 뽑힌 사람들을 확인하니 두번째 요소에 대해 내림차순인 것들만 count 해주면 된다. 솔직히 이게 왜 greedy인지 모르겠다. #include #include #include #include using namespace std; int main() { int T; cin.. 2023. 11. 22.
잃어버린 괄호 #1541 c++ 문제풀이 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 처음에는 문제조건을 잘못보고, 한번만 괄호를 쳐야하는줄알고 애를 먹었는데 곰곰히 생각해보니 그럴필요가 있나하고 맞춘 문제이다. 결국 가장 작은 수를 만들려면 - 에서 -가 나올때까지 괄호를 씌워서 음수로 만들어주면 된다. ex) + - + - + + => + - - - - - 2023. 11. 22.
주짓수 #15724 c++ 풀이 https://www.acmicpc.net/problem/15724 15724번: 주지수 네모 왕국의 왕인 진경대왕은 왕국의 영토를 편하게 통치하기 위해서 1X1의 단위 구역을 여러 개 묶어서 하나의 거대 행정구역인 주지수(州地數, 마을의 땅을 셈)를 만들 예정이다. 진경대왕은 www.acmicpc.net 전에 이와 비슷한 누적합 문제를 풀었기에 갈피를 잡기 쉬웠다 도형적인 접근이 필요하다. 공식처럼 누적합의 성질을 이용하면 된다. #include using namespace std; int N, M; //영토의 크기 N >> M; for (int i = 1; i population[i][j]; } } dp[1][1] = population[1][1]; dp[1][2] = dp[1][1] + popula.. 2023. 11. 20.