
전체 글
[BOJ] 15898 - 피아의 아틀리에 ~신비한 대회의 연금술사~
문제 출처 백준 15898 - 피아의 아틀리에 ~신비한 대회의 연금술사~ 풀이 연금술사 피아가 3개의 재료(4×4 형태)를 적절히 선택하고 배치하여 가마(5×5 격자 모양)에 넣어 만들 수 있는 최대 품질의 폭탄을 만드는 문제였습니다. 품질은 원소와 효능을 합해 구해주어야 합니다. 원소는 R, B, G, Y, W가 있었는데, W인 경우는 아무런 점수도 얻을 수 없고 나머지 품질의 경우는 각 원소별로 효능을 모두 더해 품질 = 7R + 5B + 3G + 2Y 이처럼 곱해주는 작업을 통해 품질을 구해줍니다. 우선 3개의 재료를 고르는 경우는 완탐을 통해 모든 순열의 경우의 수를 고려해주었습니다. 재료를 돌리거나 위치를 다르게 넣어주는 등 재료가 가마에 들어가는 16가지 경우를 모두 배열로 만들어 16 × 1..
[BOJ] 18291 - 비요뜨의 징검다리 건너기
문제 출처 백준 18291 - 비요뜨의 징검다리 건너기 풀이 비요뜨가 1번 징검다리에서 마지막 징검다리까지 도달하여 강을 건너는데 경우의 수를 구하는 문제였습니다. 경우의 수가 2N-2의 규칙을 가지고 있고 징검다리의 개수가 최대 109까지 이기 때문에 그대로 계산한다면 109 + 7로 나눈다고 해도 너무 큰 수가 되버려 long long 범위를 넘어가버립니다. 따라서 (28) -> ((22)2)2 이런 식으로 재귀함수를 돌려 계산해주었습니다. 코드 small-j/BOJ_Algorithm Contribute to small-j/BOJ_Algorithm development by creating an account on GitHub. github.com
[BOJ] 16197 - 두 동전
문제 출처 백준 16197 - 두 동전 풀이 문제의 핵심은 두 가지라고 생각했습니다. 1. 두 동전 중 하나만 보드에서 떨어뜨려야 한다. 2. 동전을 움직이는 버튼은 최대 10번까지만 누른다. 동전을 움직이는 버튼을 10번보다 많이 눌러야 한다면 더이상 버튼을 누르지 않기 때문에 동전이 움직이는 경우의 수의 최대가 다음과 같았습니다. 41 + 42 + . . . + 410 따라서 경우를 모두 돌려도 시간초과가 나지 않을 것이라 예상했습니다. 동전을 위, 아래, 왼쪽, 오른쪽으로 움직여서 탐색하는 bfs를 사용했습니다. 문제에 나와있는 그대로 움직이는 것을 구현해서 모든 경우를 봐주어 최소 값을 구해주었습니다. 코드 small-j/BOJ_Algorithm Contribute to small-j/BOJ_Al..
[GitHub] GitHub profile 만들기
GitHub에서 profile을 만들어보도록 하겠습니다. 본인의 GitHub repository를 하나 생성해야 하는데요. repository이름을 본인의 GitHub nickname으로 설정하면 위와 같이 비밀을 찾았다고 귀여운 고양이가 알려줍니다! 여기서 Private로 설정하면 본인이 지정한 사람만 repository를 볼 수 있기 때문에 모두가 profile을 볼 수 있게 하려면 Public으로 생성해주어야 합니다. README file을 같이 생성해주어 그곳에 profile을 작성할 수 있습니다. profile 초기 생성 화면입니다. 오른쪽의 연필 아이콘을 선택해서 간단하게 README.md 파일을 변경하여 다양하게 꾸밀 수 있습니다. 이곳에 저는 제가 공부하고 있는 분야, 블로그 링크를 소개하..
[BOJ] 2502 - 떡 먹는 호랑이
문제출처 백준 2502 - 떡 먹는 호랑이 풀이 주어진 날이 x라면 x-1날은 주어진 날 전날을 말합니다. x(떡의 갯수) - x-1(떡의 갯수) = x-2(떡의 갯수) 즉, 주어진 D째 날에서 전날의 떡의 갯수를 빼주는 방식으로 전전날의 떡의 갯수를 구했습니다. x-1(떡의 갯수)를 구하기 위해서 현재 날짜의 떡의 갯수보다 작은 경우를 모두 가정하여 빼주었습니다. 예를 들어 7번째 날의 떡의 갯수가 7개라면 6~1까지 떡의 갯수를 빼주었습니다. 주어진 D째 날의 떡의 갯수에서 전날의 떡을 빼주는 과정을 D만큼 반복하여 첫째 날까지 나누어 줄 수 있는지 직접 돌려 보았다. 코드 small-j/BOJ_Algorithm Contribute to small-j/BOJ_Algorithm development b..
[BOJ] 7795 - 먹을 것인가 먹힐 것인가
문제 출처 백준 7795 - 먹을 것인가 먹힐 것인가 풀이 심해에 사는 생명체 A는 자신보다 크기가 작은 B를 먹습니다. B를 내림차순 정렬해서 A와 비교해주면 A가 B보다 큰 경우에는 해당 B부터 더 작은 B들을 먹을 수 있다는 의미 입니다. 또한 A 생명체는 자신보다 작은 B를 찾기 위해 모든 B를 찾을 필요가 없습니다. A를 오름차순 정렬해서 B와 비교해주게 되면 현재 A가 이전 A보다 더 작을 것이기 때문에 이전 A가 마지막으로 비교했던 B부터 비교해주면 됩니다. 코드 C++ small-j/BOJ_Algorithm Contribute to small-j/BOJ_Algorithm development by creating an account on GitHub. github.com Java small..
[BOJ] 17281 - (야구공 모양의 아이콘)
문제 출처 백준 17281 - 야구 풀이 개인적으로 구현이 복잡한 문제였다고 생각했습니다. 완전 탐색을 통해 타순을 정해주었습니다. play함수는 타순을 정해주고 그 순서대로 이닝을 진행하여 얻을 수 있는 점수를 구했습니다. 타석(home배열)에 선수가 있는지 3루부터 확인하여 진루시켜주었습니다. 코드 small-j/BOJ_Algorithm Contribute to small-j/BOJ_Algorithm development by creating an account on GitHub. github.com