본문 바로가기

Backjoon51

1620번: 나는야 포켓몬 마스터 이다솜 - 관련 사이트: https://www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 저장된 포켓몬 도감 목록에서 이름을 검색하면 포켓몬 번호로, 번호로 검색하면 포켓몬 이름으로 출력해주는 문제이다. "맵을 사용하여 이름과 수를 연결짓는 문제" 로 힌트가 주어져 있다. 단순 map 만으로 입력을 받아 검색을 수행할 시, 시간 초과 문제가 발생되어 vector와 map 둘 다 사용하여 문제를 풀어주었다. 1) map에 (key: 이름, .. 2023. 6. 18.
1436번: 영화감독 숌 - 관련 사이트: https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 666이 들어있는 숫자를 가장 작은 수부터 카운팅 하는 문제이다. (예: 첫번째 수 = 666, 두번째 수 = 1666, 6번째 수 = 5666, 187번째 수 = 66666) 하나씩 숫자를 증가시키면서 직접 카운팅해주었다. 1) 첫번째 수 666부터 시작 2) 다음 숫자가 연속으로 6이 세번 들어있는 숫자인지 확인: check(num++) 2-1) 마지막 숫자가 6인 경우, .. 2023. 6. 15.
1018번: 체스판 다시 칠하기 - 관련 사이트: https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 하나씩 모두 비교하여 가장 최솟값을 구하였다. 1) (0, 0) 위치부터 시작 지점을 정하고 8 x 8 씩 잘라서 비교 (예: 8 x 10인 경우, 시작 지점은 각각 (0, 0), (0, 1), (0, 2)가 된다.) 2) 시작 지점이 'B' 인 경우와 'W' 인 경우 각각 계산 3) 좌표 x, y가 짝수/홀수인지 확인하여 1)과 2) 에 대해 교체 필요한 개수 카운팅 4.. 2023. 6. 14.
15964번: 이상한 기호 - 관련 사이트: https://www.acmicpc.net/problem/15964 15964번: 이상한 기호 부산일과학고등학교의 효진이는 수학의 귀재이다. 어떤 문제라도 보면 1분 내에 풀어버린다는 학교의 전설이 내려올 정도였는데, 이런 킹ㅡ갓 효진에게도 고민이 생겼다. 대부분의 문제에서 반 www.acmicpc.net 단순 연산 문제이다. 결과값이 int 보다 클 수 있으므로 타입은 long long int 로 선언해주었다. (int 형을 사용할 경우, 30점 점수가 나온다.) #include using namespace std; int main() { long long int A, B; cin >> A >> B; cout 2023. 6. 14.
10814번: 나이순 정렬 - 관련 사이트: https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 첫번째 나이 값을 기준으로 비교 함수를 정의하였다. 단, 첫번째 값이 같을 경우 순서가 변경되지 않아야 하므로 일반적인 sort 함수가 아닌, stable_sort 함수를 사용하였다. #include #include #include using namespace std; bool compare(pair prev, pair next) { return prev.first < next.fir.. 2023. 6. 13.