일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- SW Expert Academy
- data structure
- Programmers
- 백준
- 자료구조
- swea
- 알고리즘
- network
- db
- 운영체제
- cs
- Computer Science
- 데이터베이스
- OS
- D3
- 법의학
- algorithm
- 프로그래머스
- 재테크/투자
- BOJ
- language
- 감상문
- Database
- 문제풀이
- algogritim
- 독서
- 네트워크
- D2
- LeetCode
- c++
- Today
- Total
목록전체 글 (144)
선택은 나의 것

문제 BOJ 2169 : https://www.acmicpc.net/problem/2169 2169번: 로봇 조종하기 첫째 줄에 N, M(1≤N, M≤1,000)이 주어진다. 다음 N개의 줄에는 M개의 수로 배열이 주어진다. 배열의 각 수는 절댓값이 100을 넘지 않는 정수이다. 이 값은 그 지역의 가치를 나타낸다. www.acmicpc.net 접근 탐사 로봇은 (1, 1)의 위치부터 (n, m)까지 탐사하는 방법 중 탐사한 지역들의 가치의 합이 최대인 값을 찾는 문제이다. 나는 dp로 접근했다. 먼저 임의의 좌표에 도달하기 위해서는 그 좌표의 위 또는 왼쪽 또는 오른쪽에서 접근할 수 있다. 따라서 왼쪽에서 오는 최댓값과 위에서 오는 최댓값을 비교해 최댓값을 저장해주는 배열 left_max와 오른쪽에서 ..
문제 SWEA 2819 : 격자판의 숫자 이어 붙이기 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 격자판의 임의의 위치에서 시작해 6번 이동하여 만들 수 있는 서로 다른 일곱 자리 수들의 개수를 구하는 문제이다. 이때 한 번 거쳤던 격자칸을 다시 거쳐도 되기 때문에 방문처리는 해주지 않았다. dfs를 통해 격자판을 7번 움직일 수 있는 모든 경우의 수를 찾았다. 이때 만들어진 일곱 자리 수들의 중복을 방지하기 위해 set을 사용했다. 코드 // algorithm study // SWEA_[D4]2819_격자판의 숫자 이어 붙이기 #include #include using namespace std; ch..

문제 SWEA 1949 : [모의 SW 역량테스트] 등산로 조정 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 등산로는 가장 높은 봉우리에서 시작하여 현 위치보다 낮은 지형으로만 갈 수 있으며 딱 한 곳만 K만큼 지형을 깎는 공사를 할 수 있다. 따라서 가장 높은 봉우리들을 시작으로 dfs를 돌며 가장 긴 등산로를 찾아 준다. 가장 높은 봉우리는 처음 지형의 높이를 입력받을 때 저장해 준다. 이때 저장한 가장 높은 봉우리들을 시작으로 dfs를 돌 것이다. 테스트 케이스가 다수이므로 처음 지형의 높이를 받아줄 때 dfs방문을 처리하는 visit 배열도 같이 초기화해 줬다. dfs를 돌면서 만약 다음 지형이..
문제 SWEA 1948 : 날짜 계산기 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 월 일로 이루어진 날짜 2개를 입력 받아, 두 번째 날짜가 첫 번째 날짜의 며칠째인지 출력하는 문제이다. 코드 // algorithm study // SWEA_[D2]1948_날짜 계산기 #include using namespace std; int main() { int t; cin >> t; int month[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; for (int i = 0; i < t; i++) { int am, ad, bm, bd, answer = 0; ..
문제 SWEA 1946 : 간단한 압축 풀기 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 문자의 반복 횟수만큼 문자를 출력해주면 된다. 이때 문서의 너비는 10으로 고정임으로 10번마다 "\n"을 해주면 된다. 코드 // algorithm study // SWEA_[D2]1946_간단한 압축 풀기 #include using namespace std; int main() { int test_case, n; cin >> test_case; for (int t = 0; t > n; int counter = 0; cout > num; for (int k = 0; k..
문제 SWEA 7853 : 오타 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 재경이는 i번째 문자에 i - 1번째 문자 또는 i번째 문자 또는 i + 1번째 문자를 칠 수 있다. 따라서 [i - 1], [i], [i + 1]이 모두 다른 단어로 이뤄져 있으면 i번째에 위치할 문자의 경우의 수는 3이 된다. [i - 1], [i], [i + 1] 중 두 문자가 같다면 경우의 수는 2가 되며 셋 다 같을 경우는 1이 된다. 따라서 i번째에 위치할 문자의 경우의 수를 계속 곱해나가면 된다. 여기서 0번째 문자는 i - 1번째 문자가 없기 때문에 i번째와 i + 1번째 문자만을 보면 되고, 마지막 문자는 i ..