일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- D4
- 백준
- 삼성
- the midnight library
- PyQt
- MySQL
- 직무면접
- SQL
- swexpertacademy
- 원서
- BFS
- sw expert
- sw expert academy
- 원서읽기
- STUDYENGLISH
- 코딩테스트
- 프로그래머스
- 코테 대비
- 코테
- 완전탐색
- nightroutine
- 원서읽자
- readingbook
- English
- englishbook
- 알고리즘
- 알고리즘 문제
- dfs
- 코테 준비
- 쉬운 알고리즘 문제
- Today
- Total
목록알고리즘 (77)
시나브로
처음에는 이 문제를 while문을 돌리고 맞은 숫자들(box)과 틀린 숫자들(box1)을 set에 저장해서 각 연산마다 box와 box1에 있는 확인하였다. 이렇게 하니깐 31개의 문제 중에 29개만 맞췄다. 정답 리스트를 보니 프로그램 작동 시작이 너무 짧고 사용하는 저장공간도 너무 작아서 문제를 다시 읽어봤다. 그렇게 먼저 맞는 경우에 대한 모든 경우를 저장하고 비교하는 솔류션을 찾았다. 자료구조 set을 사용한 이유는 set은 이진 트리로 key를 찾는 속도가 다른 구조보다 훨씬 빠르기 때문이다. 또한, 내가 따로 코드 작성을 하지 않고 간단하게 코드 작성이 가능했기 때문이다. #include #include #include int main(void) { int test_case = 0; scanf..
완전 탐색인 문제이기 때문에 모든 경우의 수를 탐색했다 각 꼭지점이 겹쳐져야 되기에 기준의 되는 블록을 기준으로 상하좌우로 전체 탐색을 하면된다. 하지만, 이 경우 ㅏ 모양의 테트로미노가 불가능하기에 대각선에 대해서도 모든 경우를 탐색해줬다. 그렇기에 상하좌우를 확인하는 if 문 4개와 4개의 대각선을 확인하는 if문 4개로 구성된다. 대각선을 확인할 때는 연결되야되기에 안에 if문이 추가되었다. #include int space[510][510]; int n, m = 0; int max = 0; int search(int i, int j ,int score,int count) { int empty_box = space[i][j]; score += empty_box; space[i][j] = -1; if..
#include int connect[101][101] = { 0 }; int q = 0; int person_amount = 0; int connect_amount = 0; void search(int list[],int point) { for (int i = 1; i
#include int input[500005] = { 0 }; int num; void quickSort(int first, int last) { int pivot; int i; int j; int temp; if (first < last) { pivot = first; i = first; j = last; while (i < j) { while (input[i] input[pivot]) { j--; } if (i < j) { temp = input[i]; input[i] = input[j]; input[j] = temp; } } temp = input[pivot]; input[pivot] = input[j]; input[j] = temp; quickSort(first, j - 1); quickSort..