일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 직무면접
- 코딩테스트
- MySQL
- the midnight library
- 원서
- English
- readingbook
- 알고리즘 문제
- swexpertacademy
- 코테 대비
- 삼성
- nightroutine
- 알고리즘
- sw expert academy
- SQL
- 코테
- 완전탐색
- dfs
- 백준
- 원서읽기
- 쉬운 알고리즘 문제
- sw expert
- 코테 준비
- D4
- 원서읽자
- englishbook
- BFS
- STUDYENGLISH
- 프로그래머스
- PyQt
- Today
- Total
목록알고리즘 문제 (57)
시나브로
DFS/BFS를 이용하는 문제이다. 네트워크가 몇개인지 확인하는 문제로 모든 점을 한바퀴 볼면서 깊이우선탐색을 해주었다. 만약 이전의 점에서 그 점을 방문했는 경우를 제외하고 갯수를 세주면 답이 된다. #include #include using namespace std; int point_list[210]; void dfs(int k,vector A){ for (int i = 0; i < A.size(); i++) { if (A[k][i] == 1&&point_list[i]==0) { point_list[i] = 1; dfs(i, A); } } } int solution(int n, vector computers) { int answer = 0; for (int i = 0; i < computers.si..
이 문제는 규칙을 찾는게 중요하다. #include #include using namespace std; vector list; int signal = 1; int solution(int n) { int answer = 0; if (signal == 1) { list.push_back(1); list.push_back(1); } int point = list.size(); while (point
규칙성을 찾는다고 찾았는데 잘못찾았다. 검색으로 찾은 규칙성은 최대 공약수로 나눈 크기의 사각형에서는 가로+세로-1의 사각형들이 잘린다는 것이다. 그래서 최대공약수를 찾고 계산하면 된다. using namespace std; long long solution(int w, int h) { long long answer = 1; int fix = w; int f_w = w; int f_h = h; if (w 0; i--) { if (w % i == 0 && h % i == 0) { w =w/i; h =h/i; break; } } long long number = 0; number = (f_h/h)*(h+w-1); answer = (lo..
진짜 많은 고생을 한 문제이다. 3진법으로 변환하는 것을 알았는데 진법 변화할 때 나오는 0이 문제였다. point1 . 진법 변환시 나오는 0,3을 4로 대처한다. 그 이유는 변화할 때, 나오는 숫자가 0,1,2 이기 때문에 0,3이 4를 의미한다. point2. 0을 4로 변경하면, 앞에 수를 하나 줄여야한다. 그 이유는 뺄셈을 할 때와 유사하다. point3. 진법 변환시 나오는 3은 그 이상 진법번환을 진행하지 않고, 3을 4로 대처한다. 1. 나머지 값을 계산하여 box에 숫자를 입력한다. 이때 0을 4로 변경하였으면, 내림이 필요하기 때문에 signal 변수로 내림을 표시해준다. 2. n/3을 한다. 3. 이후, 1,2 과정을 반복하는데 내림이 표시되어있을 경우, 하나 단계 숫자를 줄일다. 여..