일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Java
- 알고리즘
- 구슬탈출2
- 미세먼지 안녕!
- 14888
- django
- 부분수열의 합
- 연산자 끼워넣기
- 다리 만들기2
- 16637
- 14502
- 6603
- 좋아요
- 1182
- 17472
- 따라하기
- 9095
- Ajax
- 17136
- 댓글
- 장고
- 백준
- 괄호추가하기
- 17143
- 17144
- 인스타
- 색종이 붙이기
- 인스타그램
- 재귀
- 로또
- Today
- Total
Be a developer
한동안 바쁘기도 했고, 다시 이어서 하기도 귀찮았는데, django는 모델 관계 설정이 매우 간편하기 때문에 이어서 글을 쓴다. CRUD를 이용해서 만들려고 했는데, 귀찮아서 그냥 admin으로 댓글을 썼다.. 먼저 models.py에 들어간다. 들어가서 아래와 같이 Comment 클래스를 만들어준다. 중요한 것은 ForeignKey를 이용해서 Post와 일대다 관계를 만들어 주는 것이다. model이 바꼈으니, migrate 해준다. 그리고 CRUD를 구현하기 귀찮아서 admin에 Comment를 등록한 뒤 댓글을 쓰도록 하겠다. html 파일에서 post에 연결된 comment를 보여주기 위해서는 위의 사진과 같이 comment_set.all을 사용하면 된다. 글을 막 써놨지만, 위는 글의 내용이고 ..
교내 해커톤이 약 20일 남았습니다.. 다들 화이팅 하시고.. github로 협업을 하면 좋겠지만, 만약 오류가 발생했을 때 운영진이 일일이 다 잡아줄 수가 없어서 그것보다는 구름 IDE를 사용하는 것이 낫겠다는 판단 하에 이렇게 글을 쓰게 되었습니다..흑 작년 같은 경우에는 c9을 사용했는데, 이제 c9이 서비스를 안한다고 해서 구름 IDE를 선정하게 되었는데, 운영진도 제대로 사용해본 적이 없어서 어떤 에러가 발생할지 모릅니다. 그러니까 사용하다가 에러가 발생하거나 궁금한 점이 있다면 물어보세요.. 최대한 찾아서 해결해 보겠습니다. 시작할게욥! 구름 IDE에 접속합니다. 그리고 상단에 회원가입을 눌러 회원가입을 합니다. 깃허브로 가입하기 위해서 빨간 박스로 표시한 버튼을 눌러줍니다. 만약 깃허브 자동..
정처기 공부를 한다고 오랜만에 문제를 풀었다. 사실 정처기 하다가 지겨워서 잠깐 풀다가 다음날 또 풀다가, 다시 풀었다. 처음에 뱀을 저장하는 방식으로 vector를 사용했다가 코드가 너무 복잡해져서 다른 방법을 생각해보니 deque가 생각났다. 뱀이 이동할 때 추가되거나 삭제 되는 곳은 머리 혹은 꼬리 뿐이기 때문에 쉽게 front, back을 수정을 할 수 있는 deque을 사용하여 다시 코드를 작성했다. 먼저, 벽을 만나거나 몸을 만나면 종료를 해야 하기 때문에 이를 처리한다. 그리고 다음 칸이 사과면 꼬리는 그대로 두고, 머리만 front에 추가한다. 다음 칸이 사과가 아니라면 머리를 front에 추가하고, 꼬리는 back에서 pop시킨다. 방향만 잘 설정해주고, 방향을 바꾸는 시간대를 따로 ve..
일단 문제가 길어서 좀 잘렸다.. 처음 봤을 때 좀 복잡하겠다 싶었는데, 문제 자체가 어렵다기 보다는 index를 가지고 노는 것이 힘들었던 문제였다. 문제를 읽고 이해가 안되었던 부분도 있었고.. 그래서 힘들었던 것 같다. 결국 index 때문에 정신이 혼란해서 강의를 보고 풀게 되었다.. 1. 먼저 잘못한 것은 경사로를 놓을 수 있는지 check할 때, i와 i+1 두 인덱스를 가지고 검사하려다 보니, 한 칸씩 검사를 하면 되는 것을 두 칸씩 검사하여 코드도 복잡해지고 내 머리속도 복잡해졌다.. 어떤 인덱스를 기준으로 왼쪽으로 더 가거나 오른쪽으로 더 갈 때 i-j, i+j와 같이 푸는 방법을 잘 기억해둬야겠다. 2. 길을 찾기 위해서는 행이든 열이든 한 줄씩만 검사하면 된다. 처음에 그렇게 풀려고 ..
코딩 테스트 치러가기 전에 풀다가 2일 뒤인 오늘 마저 풀게 된 문제이다.. 무슨 정신상태로 했는지 코드가 엉망진창이었다. 시뮬레이션 문제답게 조건만 맞춰주면 되는 문제이다. 다만 신경쓸 것은 방향이 주어지기 때문에 그에 맞춰서 dr, dc 배열을 선언해주면 편하다. 또한 dir을 바꿀 때 % 연산자를 통해서 쉽게 변경하는 것도 쉽게 문제를 푸는 방법이다. 자주 쓰이는 방법인 것 같다. 그리고 scanf로 계속 입력을 받았는데, cin과 cout을 좀 더 쓰도록 노력해야 겠다. 쓰는 방법을 잘 익히고 있어야 될 것 같다. 아래는 코드이다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051..
삼성 코딩 테스트를 치고 와서 다시 마음을 다잡고 알고리즘을 공부하기 시작했다. 하루에 2문제 이상 꼭 꾸준히 푸는 것을 목표로 해야 겠다. 시뮬레이션 문제는 조건에 따라 풀기만 하면 되지만, c++ 숙련도를 높이는 좋은 방법이라고 생각한다. 이번 문제도 시뮬레이션 문제로서, 문제를 잘 이해하고 그에 맞춰 코딩을 하면 된다. 하지만 항상 그렇듯이 바로 코딩을 시작하지 않고, 먼저 생각을 한 후 코딩을 시작했다. 문제를 푸는 핵심은 방향에 따라서 이동하는 코드를 쉽게 하도록 dr, dc 배열을 두는 것이 하나 있다.(dr, dc의 인덱스를 문제에 주어진 방향과 맞추면 더 편하다.) 다음으로 주사위를 돌릴 때, 주사위의 값들을 이어서 바꿔주는 것이다. 4가지 방향이 있으므로, 각각 함수를 만들어 주어서, 코..
조건도 많지 않고, 문제도 간단하여 풀기 쉬운 문제였다. 재귀 함수를 이용하여 완전 탐색만 진행해 주면 되었다. 선수들을 배열로 놓고, idx를 증가시켜가며 추가하거나 추가하지 않는 경우의 수를 나누면 되었다. 추가한 선수들을 true로 두어서, cal함수에서 이중 for문을 돌며 true인 두 선수의 능력치를 더해주었다. 이어서 false인 두 선수의 능력치를 더하였다. 마지막으로 두 합의 차이를 ans vector에 저정한 후 min_element함수를 통해 출력하면 끝이난다. 코드는 아래와 같다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#incl..
문제가 너무 길어서 짤렸다.. 처음 문제만 읽어 보고 나서 쉬운 문제라고 생각했다. 1시간 안에 끝날 줄 알았는데 2시간 걸렸다.. 너무 안일하게 생각하고, 구체적으로 어떤 프로세스로 돌아가는지 생각하지 않고 코딩하기 시작했다. 앞에서도 같은 실수를 여러번 반복했기 때문에 구체적으로 생각하고 들어가려고 조심하고 있었고, 이번에도 구체적으로 생각했다고 생각했는데, 사실은 구체적이지 않았던 것 같다. 계속 뭐가 잘못됐는지 찾다가 톱니바퀴가 아니라 내가 돌아버리는 것 같았다.(뇌도 돌아버리는 것 같았다.) 계속 알고리즘 문제를 풀다보니 반복하는 부분을 함수로 계속 만들고, 코드도 처음에 비해서 조금씩 군더더기를 걷어내고 있는 중인 것 같긴하다. 하지만 여전히 아쉽고 매우 매우 매우 매우 많이 부족하다. 1. ..