https://programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 그리디 접근이다. 레벨2짜리 문제이지만 파이썬을 익히면서 하다 보니 문법 찾으면서 하느라고 조금 오래 걸렸다. 앞에서부터 스택에 넣으면서 비교한다. 만약 다음 원소가 더 크다면 사이즈가 허용하는 한 계속 빼고, 넣으면 된다. 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 from collections import deque def solution(number, k): arr = [int(i) for i in number] stack = deque() strlen = l..
이전 포스트에서 골치 썩었던 jwt문제는 어느정도 해결했다. 여기서 해결 방법을 쓰기에는 길어지니 패스.. 기분 좋게 테스트코드를 수정하고 돌리는데 흠..? @After에서 유저 정보를 전부 삭제하는데 오류가 뜬다. 왜지..? 아, 유저를 외래키로 가지는 테이블이 있고, 그 테이블을 외래키로 가지는 테이블이 또 있다. 종속관계의 반대 순서로 삭제하는 코드를 작성하니 잘 된다. 근데 하다보니 느낀게, cascade 설정을 해야 할 것 같다. 그래서 cascade 설정을 했는데 왜 또 오류가 뜨지.. 제약사항 오류뜨는데.. 난 cascade 설정했는데??? 그래서 찾아보고 있는데 좀 이상함을 느꼈다. 내가 RDBMS를 배울 때는 대부분의 부모 엔티티는 자식을 신경쓰지 않았다. 자식이 외래키로 부모를 쳐다보는..
현재 학교 교수님과 프로젝트를 하나 진행하고 있다. 자세한 내용은 말을 못하지만, 내가 spring-boot로 rest api기반 백엔드를 구축하고 다른 학생이 안드로이드로 이를 호출하는 방식이다. 물론 회원가입과 로그인이 필요하다. 나 : "교수님, 이거 회원가입 전부 구축하면 배보다 배꼽이 더 커질 것 같은데 그냥 oauth2로 소셜 로그인만 구축하는거 어떨까요?" 교수님 : "음.. 소셜 로그인은 당연히 되고, 자체 회원가입도 넣어야 하지 않을까?" 나 : "넵 해보겠습니다." 고로 모두 구축하게 됐다. 참고로, 스프링부트를 공부하기 시작한건 얼마 안됐다.. Spring-boot-oauth2와 Spring-security를 동시에 사용하며 소셜 로그인과 자체 회원가인/로그인을 구현하느라 한참 개고생..
12345678910111213141516171819202122232425262728293031323334353637383940#include #include #include using namespace std; class AbsHeap {private: int num;public: AbsHeap(int num) : num(num) {}; int getNum() { return this->num; }}; bool operator>(AbsHeap h1, AbsHeap h2) { if (abs(h1.getNum()) == abs(h2.getNum())) return h1.getNum() > h2.getNum(); else return abs(h1.getNum()) > abs(h2.getNum());} int..
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657#include #include using namespace std; bool bfs(int** arr, int size) { bool* visited = new bool[size] { true, }; queue q; q.push(0); while (!q.empty()) { int now = q.front(); q.pop(); if (now == size - 1) return true; for (int i = 0; i
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667#include #include #include using namespace std; int arr[100][100][100]{ 0, };int visited[100][100][100]{ 0, };queue order; int bfs(int sizeH, int sizeN, int sizeM, int nu) { int max = 1; while (!order.empty()) { tuple now = order.front(); order.pop(); nu++; max = arr[get(n..
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#include #include using namespace std; int bfs(int** arr, int** visited, int size, int x, int y) { queue order; order.push({ x, y }); int num = 0; visited[x][y] = 1; while (!order.empty()) { pair now = order.front(); order.pop(); num++; if (now.first + 1 = 0 && arr[now.first - 1][now.seco..
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#include #include using namespace std; int bfs(int** arr, int sizeX, int sizeY) { queue order; int** visited = new int* [sizeX]; for (int i = 0; i
- Total
- Today
- Yesterday
- 백준
- 코딩
- 알고리즘
- 정렬
- 인공지능
- BaekJoon
- 구현
- PyPy3
- 이분탐색
- 완전탐색
- webOS
- 1932
- c++
- BFS
- 파이썬
- c
- 피보나치
- 컨트리뷰톤
- DP
- 오픈소스
- DFS
- 한화큐셀
- Dynamic Programming
- 브루트포스
- LG
- 플로이드 와셜
- 카카오
- 프로그래머스
- 백트래킹
- 동적 계획법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |