[BOJ 1987(G4) 리뷰] 후... 엄청나게 힘들었던 문제다. 처음엔 문제 잘못읽고 BFS로 접근했다. 코딩 다했는데 그제서야 문제 제대로 이해하고 싹 갈아엎었다. 처음엔 set을 통해 문자를 하나하나씩 쌓으면서 중복된게 있는지 비교했는데, 처음에 백트래킹하면서 쌓아놓았던 문자를 제거하지 않아서 틀렸다. 이걸 수정하고 제출했더니 set때문인지 시간초과가 나왔다. 그래서 인터넷을 참고해 중복된걸 확인하는것을 A~Z까지 배열에 담아 O(1)로 확인했더니 통과되었다. 후.. 2시간은 넘게 걸린거같다. #include #include #include #include using namespace std; char board[21][21]; bool isUsed[21][21]; int dx[4] = { 1,-..
[BOJ 1992(S1) 리뷰] 전에 풀었던 별찍기 문제와 비슷해서 금방 풀었다. SIZE와 X,Y좌표를 받아서 범위에대해 같은값인지 확인하고 같은값이 아니라면 크기를 줄여가며 재귀함수에 넣어주면 된다. 첨에 재귀함수를 실행하는 순서를 잘못넣어서 좀 틀렸지만 순서를 바로잡아주니 바로 정답처리 되었다. #include #include #include #include #include using namespace std; char table[100][100]; int n; int check(int size,int x, int y) { char ret = table[x][y]; for (int i = x; i < x + size; i++) { for (int j = y; j < y + size; j++) { i..
[BOJ 1780(S2) 리뷰] SIZE와 x,y좌표를 이용해 풀었다. 같은 값이 아닐경우 크기를 계속 줄어나가며 재귀함수를 호출했다. #include #include #include #include #include using namespace std; int table[2300][2300]; int n; int a=0, b=0, c=0; int check(int size,int x, int y) { int Cur = table[x][y]; for (int i = x; i < x+size; i++) { for (int j = y; j < y+size; j++) { if (table[i][j] != Cur) //같은모양이 아님 return -100; } } return Cur; //같은모양임 } void ..
[BOJ 2447(S1) 리뷰] 반복되는 패턴이 크기가 계속 커지는 경우이므로 재귀를 이용해 해결했다. #include #include #include #include using namespace std; char table[2200][2200]; int n; void printStar(int x, int y) { for (int i = y; i < y + 3; i++) table[x][i] = '*'; table[x + 1][y] = '*'; table[x + 1][y+1] = ' '; table[x + 1][y + 2] = '*'; for (int i = y; i < y + 3; i++) table[x+2][i] = '*'; } void func(int n, int x, int y) { if (n <..
[BOJ 1629(S1) 리뷰] 쉬워보이지만 정답률이 낮은것엔 이유가 있다. 최대값이 21억이므로 21억을 곱하는 연산을 한다면 당연히 오버플로우가 생긴다. 이 문제는 재귀를 통해 해결해야한다. x^16은 x^8 * x^2과 같음을 이용해야 한다. #include #include using namespace std; long long int f(int A, int B, int C) { if (B == 1) return A % C; long long int val = f(A, B / 2, C); val = val * val%C; if (B % 2 == 0) return val; return val * A%C; } int main(void) { cin.tie(0); ios::sync_with_stdio(0)..
- Total
- Today
- Yesterday
- 자바스크립트
- 시뮬레이션
- 컴퓨터 구조
- BFS
- nodeJS
- 자바
- Computer Architecture
- 세그먼트 트리
- 예외처리
- node.js
- 투포인터
- typeORM
- 중앙대학교
- java
- boj
- 그래프
- 알고리즘
- 스레드
- 백준
- 그리디
- nest.js
- ReactNative
- dfs
- 벨만포드
- 동적계획법
- 재귀
- 컴퓨터 통신
- 백트래킹
- nestjs
- 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |