일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Computer Science
- language
- BOJ
- network
- c++
- 알고리즘
- 네트워크
- 운영체제
- 재테크/투자
- cs
- 감상문
- 프로그래머스
- 법의학
- LeetCode
- OS
- 자료구조
- 문제풀이
- SW Expert Academy
- data structure
- 백준
- Database
- 독서
- D3
- algorithm
- db
- Programmers
- swea
- D2
- 데이터베이스
- algogritim
- Today
- Total
목록swea (22)
선택은 나의 것
문제 SWEA 11315 : 오목 판정 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 BFS를 통해 돌이 놓인 위치에서 갈 수 있는 모든 방향으로 전진하며 돌의 개수를 세 주었다. 이때 문제 제목에 오목이라고 쓰여있어서 연속되는 돌의 개수가 5개여야 하는 것으로 착각할 수 있지만, 문제의 조건을 보면 연속하는 돌의 개수가 다섯 개 이상이면 "YES"이다. 따라서 BFS를 돌 때 counter의 수가 5이상이면 break를 하고 "YES"를 출력해주면 된다. 코드 #include #include #define endl "\n" using namespace std; struct qnum { int x, y,..
문제 SWEA 10912 : 외로운 문자 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 입력받은 문자열에서 쌍을 이루는 알파벳을 제거하고 남은 알파벳을 사전 순서대로 출력하면 되는 문제이다. map을 이용해서 알파벳들의 개수를 세주고, 그 값을 2로 나눈 나머지가 1이라면 쌍을 이루지 못한 알파벳이 있다는 뜻이므로 이를 출력해주었다. 이때, map 대신 배열을 써서 구현해도 된다. 코드 #include #include #define endl "\n" using namespace std; int main() { int test_case; cin >> test_case; for (int t = 1; t > ..
문제 SWEA 1285 : 아름이의 돌 던지기 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 아름이와 친구들은 돌을 던지고, 던진 돌이 가장 0에 가깝게 떨어진 곳과 0 사이의 거리 차이와 그렇게 던진 사람이 몇 명인지 구하는 문제이다. 이때 던져진 돌의 좌표는 -100,000 ~ 100,000의 범위를 가지고 있는데, 0이 기준점이므로 음수가 입력으로 들어오면 양수로 바꿔준 뒤 기존의 값들과 비교해주면 된다. 코드 #include #define endl "\n" using namespace std; int main() { int test_case; cin >> test_case; for (int t =..
문제 SWEA 1970 : 쉬운 거스름돈 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 거슬러 줘야 하는 금액 N을 큰 화폐부터 순서대로 나눠보면 되는 문제이다. 코드 #include #define endl "\n" using namespace std; int main() { int test_case; cin >> test_case; for (int t = 1; t > n; for (int i = 0; i < 8; i++) { int a = n / money[i]; n = n % money[i]; ans[i] = a; } cout
문제 SWEA 1979 : 어디에 단어가 들어갈 수 있을까 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 N x N의 퍼즐 판이 주어졌을 때 연속된 가로, 세로의 칸에 K의 길이를 갖는 단어가 들어갈 수 있는 자리의 개수를 찾는 간단한 문제이다. 2중 for문을 두 번(가로, 세로) 돌아서 찾을 수 있다. 코드 #include #define endl "\n" using namespace std; int main() { int test_case; cin >> test_case; for (int t = 1; t > n >> k; for (int i = 1; i map[i][j]; if (map[i][j] =..
문제 SWEA 11688 : Calkin-Wilf tree 1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 문제의 조건은 크게 두 개인데, ∙ 트리의 루트는 1/1 을 나타낸다. ∙ 트리의 각 노드는 왼쪽 자식과 오른쪽 자식을 가지는데 어떤 노드가 a/b 를 나타내고 있다면, 왼쪽 자식은 a/a+b 를 오른쪽 자식은 a+b/b 를 나타낸다. 따라서 입력받은 문자열을 하나씩 확인하며 'L'일 경우 b = a + b를 해주고, 'R'일 경우 a = a + b를 해주면 쉽게 답을 구할 수 있다. 코드 #include #define endl "\n" using namespace std; int main() {..
문제 SWEA 1983 : 조교의 성적 매기기 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 입력받은 학생의 성적을 계산해서 double형 배열에 저장해 준 뒤, for문을 돌며 k번째 학생보다 점수가 큰 학생의 수를 세서 (n/10)으로 나눠준다. 코드 #include #include #include #define endl "\n" using namespace std; int main() { int test; string grades[] = {"A+", "A0", "A-", "B+", "B0", "B-", "C+", "C0", "C-", "D0"}; cin >> test; for (int t = 1; ..
문제 SWEA 1859 : 백만 장자 프로젝트 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 입력받은 배열을 뒤에서부터 탐색해나가며 max값보다 큰 수를 만날 때마다 갱신해주며, max값보다 작은 수를 만나면 'max값 - 현재 값'(즉, 매매에서의 차익)을 ans에 더해준다. 코드 #include #include #define endl "\n" using namespace std; int main() { int test; cin >> test; for (int t = 1; t >n; vector v; for (int i = 0; i > num; v.push..
문제 SWEA 2007 : 패턴 마디의 길이 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 문제에서 주어지는 문자열은 무조건 반복되는 패턴을 가지고 있다는 특징이 있다. 따라서 문자열을 하나씩 확인하며 반복이 나타나는 지점을 찾아주면 되기 때문에 for문 한 번으로 해결할 수 있는 문제이다. 코드 #include #define endl "\n" using namespace std; int main() { int n; cin >> n; for (int i = 1; i > s; int counter = 0; for (int j = 1; j < s.size(); j++) { if (s[counter] == s..
문제 SWEA 2001 : 파리 퇴치 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 이 문제의 제한 조건에서 N의 값은 최대 15이기 때문에 무식한 방법으로 풀어도 무리 없이 pass가 가능하다. 쉬운 문제는 정석 풀이가 바로 떠오르지 않는다면 그냥 쉽게 가도록 하자. 코테는 시간 싸움이기 때문이다. 코드 #include #define endl "\n" using namespace std; int main() { int test; cin >> test; for (int t = 1; t > n >> m; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++)..