일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- English
- 알고리즘 문제
- 프로그래머스
- dfs
- MySQL
- swexpertacademy
- 삼성
- sw expert
- BFS
- PyQt
- sw expert academy
- 원서읽자
- D4
- 원서
- 백준
- 코테
- englishbook
- 원서읽기
- 쉬운 알고리즘 문제
- SQL
- 완전탐색
- 직무면접
- nightroutine
- 코테 대비
- 코딩테스트
- the midnight library
- STUDYENGLISH
- readingbook
- 알고리즘
- 코테 준비
- Today
- Total
목록쉬운 알고리즘 문제 (8)
시나브로
#include #include #include #include #include using namespace std; void factoral(int n, long long answer) { if (n == 0) { cout
전체탐색하면 쉽게 풀리는 문제였지만, 저는 10번정도 틀렸다는.... ㅠㅜ 논리상 문제는 없어보이는데 왜 이렇게 되나 찾아보니 max와 min값의 초기값이 10억과 -10억으로 setting을 해야됩니다. 2퍼 정도에서 계속 틀리다면 꼭!!! max와 min값의 초기값을 수정하시길!!!! #include #include #include #include #include #include #define MAX 100000000000000; using namespace std; vector number_list; long long maxs = -MAX; long long mins = MAX; void dfs(vector operate, int point, long long sum) { if (point == n..
이 문제는 전형적인 DFS/BFS 완전탐색 문제이다. Solution 값을 입력 받는다. 여기서 값이 1인 인덱스를 벡터 stack에 입력한다. 벡터 stack이 빌때까지 while문을 돌면서 dfs 함수를 호출한다. 호출할 때는 새로운 단지를 발견한 것이기에 answer함수에 새로운 단지를 찾았다는 뜻으로 push_back으로 값을 넣어준다. dfs함수에서는 4방향을 보며 1일 경우, 재귀호출을 해준다. => 여기서 유의점은 범위체크이다. 인덱스가 배열을 범위를 넘어서면 무조건 오류가 나기때문에 귀찮더라도 범위체크를 해줘야한다. 재귀호출하면서 집의 갯수를 세야된다. 그렇기에 새로운 집에 방문할때마다 answer의 마지막 요소에 +1를 해준다. 여기서 왜 마지막 요소인가하면, 동시에 여러단지를 검색하지않..
Solution 그냥 문제 그대로 코딩하면 Pass 할 수 있습니다. 저는 계산을 줄이고자 하다가 오류를 많이 만났습니다. 데이터를 받으면서 list[카드의 수의 값을 가집니다. / 인덱스는 카드의 크기입니다]의 배열에서 갯수를 감소시켜줍니다. -> 각 크기에 따른 남은 카드의 수를 알 수 있습니다. 현재 승현이가 가진 카드의 총합을 알기위해 sum을 계산해줍니다. 이제 sum 변수는 승현이가 21을 만들기 위해 남은 크기를 의미하는 변수로 의미가 변경됩니다. list를 sum까지 돌면서 승현이가 뽑을 수 있는 카드 수를 s로 계산합니다. -> 여기서 sum까지 도는 이유는 list의 인데스는 카드의 크기이기 때문입니다. g 변수를 계산해줍니다. g는 승현이가 뽑으면 안되는 카드의 갯수입니다. 대소관계를..