전체 글 (591) 썸네일형 리스트형 [백준 1743 c++ O] 음식물 피하기 문제 링크 www.acmicpc.net/problem/1743 1743번: 음식물 피하기 첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ 10,000)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진 www.acmicpc.net 문제 접근 // 문제: 배열중 인접해있는 음식물의 크기의 합이 가장 큰 음식물의 크기를 출력 // 접근: 4방향인접하면 하나의 음식물로 본다 -> 기본 dfs 탐색 문제 풀이 // 풀이: 배열의 크기와 음식물 위치 입력 // 기본 완전탐색 dfs // 음식물의 최대크기 최신화 // 음식물 최대크기 출력 주의 // 배열의 인덱스 1부터 시작하는 것으로 입력 .. [백준 2210 c++ V] 숫자판 점프 문제 링크 www.acmicpc.net/problem/2210 2210번: 숫자판 점프 111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, 212121 이 가능한 경우들이다. www.acmicpc.net 문제 접근 // 문제: 숫자배열에서 4방향으로 탐색을 하며 나오는 6자리 서로다른 숫자의 개수를 구하는 문제 // 접근: 4방향 탐색이어서 dfs,bfs중 하나로 탐색하는데 방문 한곳 또 해서 방문배열 불필요, 중복된숫자 거르기 위해 set 자료형 사용 문제 풀이 // 풀이: 배열 입력 // 완전탐색 dfs // 6번째 depth 에서 숫자를 set 자료형에.. [백준 2644 c++ V] 촌수계산 문제 링크 www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1≤n≤100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어진 www.acmicpc.net 문제 접근 // 문제: 부모와 자식의 촌수를 1로 해서 주어진 두 사람의 촌수를 구하는 문제 // 접근: 인접행렬방식 dfs 로 부모와 자식의 관계를 양방향 그래프로 표현 문제 풀이 // 풀이: 벡터배열로 2차원 배열에 양방향 그래프 입력 // 찾기만 하고 초기화 않해줘도 되는 기본 dfs 이용해서 인접리스트 그래프 탐색 주의 개념 소스코드 #define _CRT_SECURE_NO_WA.. [백준 2583 c++ O] 영역 구하기 문제 링크 www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 문제 접근 // 문제: 배열에서 직사각형을 제외한 영역의 개수와 영격 원소의 개수를 정렬시켜 구하는 문제 // 접근: 기본 dfs 로 탐색 문제 풀이 // 풀이: 배열 입력받고 // 기본 완전탐색 dfs 하면서 영역의 개수와 영역원소의 개수 같이 덧셈 // 영역원소의 개수는 벡터에 저장 후 정렬 주의 개념 소스코드 #define _CRT_SECURE_NO_WARNINGS #incl.. [백준 11656 c++ v] 접미사 배열 문제 링크 www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 문제 접근 // 문제: 한 문자열에 해당하는 모든 접미사를 정렬시키고 출력 // 접근: substr함수로 각 접미사를 벡터에 저장 문제 풀이 // 풀이: 문자열 입력 받고 // substr함수로 각 접미사 벡터에 저장 // 벡터 정렬 // 출력 주의 개념 // 개념: string.substr(시작인덱스, 끝 인덱스) : 해당하는 부분만 복사 소스코드 #define _CRT_SECURE_NO_WARNINGS #include #include // c 문법 헤더파일 #include /.. [백준 10988 c++ O] 팰린드롬인지 확인하기 문제 링크 www.acmicpc.net/problem/10988 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 문제 접근 // 문제: 거꾸로 해도 같은 문자열인 팰린드롬인지 확인하기 // 접근: 완전탐색으로 문자열의 앞뒤에서 서로 비교 문제 풀이 // 풀이: 반복문으로 앞뒤 동시비교하며 팰린드롬이 아니면 0출력 주의 개념 소스코드 #define _CRT_SECURE_NO_WARNINGS #include #include // c 문법 헤더파일 #include // c++ 문자열 클래스 #include // 동적배열 라이브러리 #include #include #inc.. [백준 7562 c++ V] 나이트의 이동 문제 링크 www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 문제 접근 // 문제: 나이트가 한 지점으로부터 목표지점까지 이동하는데 최소이동횟수 구하기 // 접근: 최소이동횟수 -> dfs 시간초과남 // 접근2: bfs로 방문하는 배열에 이동 횟수 저장하면서 이동 문제 풀이 // 풀이: 처음 시작하는 점에서 // 기본 bfs 하는데 이동시 이동 횟수를 저장하면서 // 8방향의 움직임을 반복문으로 구현 주의 개념 // 개념: memset(visited, 채우는 .. [백준 14889 c++ V] 스타트와 링크 문제 링크 www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 문제 접근 // 접근: n 명 중 팀 인원 정하기 -> dfs 탐색 문제 풀이 // 풀이: dfs탐색으로 팀인원 뽑기 // 팀인원 다 뽑고 각 팀의 포인트 계산 // 각 팀의 능력치 차이 계산하고 최소값 최신화 주의 // 주의: dfs 탐색 시 방문 않 한 곳만 들르는 조건 빼서 처음에 헤멤 개념 소스코드 #define _CRT_SECURE_NO_WARNINGS #include #include // c 문법 헤더파일 #i.. 이전 1 ··· 65 66 67 68 69 70 71 ··· 74 다음 목록 더보기