일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Algorithm
- 내일배움캠프
- 코딩테스트
- 프로그래머스
- OOP
- 백준
- Elasticsearch
- 이분 탐색
- 계산기 만들기
- binary search
- BFS
- 객체지향
- Generics
- 완전탐색
- Baekjoon
- til
- SpringBoot
- programmers
- 브루트포스
- 이분탐색
- querydsl
- ES
- Java
- 리팩토링
- Spring
- parametric search
- 일정 관리
- 누적합
- 구현
- 알고리즘
- Today
- Total
목록분류 전체보기 (50)
개발하는 햄팡이
https://www.acmicpc.net/problem/6236 풀이 과정문제 이해가 살짝 어려웠던 문제..원래 술술 읽으면 이해가 되는데 얘는 이해가 안돼서 종이에 쓰면서 해석했다..내가 문해력이 안좋은건지 글이 이상한건지..?중요한 부분만 뽑아보면 1. N일 동안 사용할 금액이 주루룩 있음2. 정확히 M번만 돈을 뺄 것임! (돈 아끼려고 하는거라서 M보다 적어도 됨)3. 한번 인출할때 무조건 k원을 뺄것임. 이는 고정 값이고 수중에 있는 돈이 하루를 보내기에 부족하면 원래있던 돈 전부 통장에 집어넣고, k원 인출이 정도 인 것 같은데 아마 다들 2번에서 뭐라굽쇼..? 하지 않을까...정확히 M번이라고 했는데 사실 이 부분은 문제 풀다보면 신경쓰지 않아도 됨왜냐하면 우리는 금액(k)을 최소화 하..
초심 찾기 운동겸 내일배움캠프 강의인 HTML, CSS, JavaScript 강의를 듣고 있는데대부분의 초심자 강의와 비슷하게 엄청 자세한 설명은 없기도 하고예전에 헷갈렸던 선택자를 다시 정리를 해볼려고 한다.외울려고 하는 것은 아니지만 그래도 한번 보고 넘어가면 좋을 것 같아서 정리!CSS 선택자 완벽 정리CSS 선택자(selector) 는 원하는 HTML 요소를 정확하게 지정하여 스타일을 적용할 수 있다.1. CSS 선택자란?CSS 선택자는 HTML 문서에서 특정 요소를 선택해 스타일을 적용할 수 있도록 도와줍니다. 선택자를 잘 활용하면 코드의 재사용성과 유지보수성이 크게 향상됩니다.2. 기본 선택자2.1. 전체 선택자 (*)문서 내의 모든 요소를 선택* { margin: 0; padding: 0..
어제 정보처리기사 실기 지원하는 날이었다.나는 아직 필기도 안봐서 이제 4월에 필기 지원하는 날에 지원해 볼 예정이다.사람들 말로는 필기는 기출돌리면 쉽다고는 하는데기왕 공부할거 제대로 하자라는 마음이 있어서 실기 대비할겸 정보처리기사 공부를 하고 있다. 나는 시나공 기본서를 교보문고 ebook으로 구매하여 유튜브에 올라와 있는 시나공 무료강의를 보면서 공부하고 있다.사고나서 느낀게 강의가 너무 잘되어있고 강사님이 이해하기 쉽게 설명도 잘해주시고, 어떻게 문제가 출제될 것 같은지 다 집어주신다.그리고 강의 한개당 거의 10분내외로 이루어져 있어서 그렇게 길지도 않고 듣기 편하다.그래서 그냥 복습용 문제집만 구매하고 이론은 강의 들으면서 하면 될 듯?강의를 많이보고 자란 세대라서 그런가 강의가 너무 좋다...
요즘 집에서 계속 혼자 공부하다보니 고등학생때처럼 공부해야지라고 마음먹었던게 점점 처지기도 하고개인적인 일이 생길때마다 공부를 뒤로 미루게 되어 나를 관리해줄 수 있는 부트캠프를 찾아봤다. 그래서 커리큘럼이라던가 온/오프라인 방식, 수료 후 취업 지원등 여러가지를 고려해서 백엔드 Spring 과정을 신청했다. 내일배움카드를 발급받고 이것저것 절차를 밟은 뒤,오늘부터 내일배움캠프 사전 캠프를 시작하게 되었다. 내일배움캠프는 매일매일 TIL을 제출해야하는 선택사항의 과제가 있는데처음 TIL을 쓰는 사람들을 위해 TIL쓰는 방법도 알려주고,맨 처음은 스타터 노트라는 처음 양식이 있다. 해당 과정을 시작하기 전에 마인드셋을 하고 가는 느낌의 문항들이다. 지금 이 글은 Spring 7기 과정으로 쓰고 있지만 사..

https://www.acmicpc.net/problem/2470 풀이 과정주어진 용액을 두개를 더해 0과 가까운 용액을 만드는 것이 목표. 이 문제의 알고리즘 분류에 이분탐색이 있는데사실 이분탐색을 사용하지 않고 투 포인터만 사용하면 쉽게 풀린다. 투 포인터로 푸는 방법은일단 입력값을 배열에 받아 정렬을 하고투 포인터를 이용해서 양 끝에서부터 용액을 선택한다음0보다 크면 right값을 줄이고,0보다 작으면 left값을 줄이면 된다.시간 초과도 되지 않는다.예전에 투 포인터로 풀었던 문제이지만 이분탐색도 곁들여서 풀면 좀 더 효율적으로 풀 수 있고지금 계속 이분탐색을 연습중이라서 이분탐색을 넣은 방법으로 다시 해볼려고 한다.이분탐색으로 푸는게 훨씬 어려운 방법인 것 같다...현재로써는 그냥 배열을 0부터..
https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr여담글을 쓰는 방식을 좀 바꿨다.바꾼지 좀 되긴 했는데 원래는 뭘 쓸지 고민하고 어떤 구성으로 쓸지, 문제 풀이가 올바른 풀이인지 다 결정한 뒤에 썼는데블로그에 글 올리는 부담감을 좀 줄이고 싶어서 그냥 문제를 풀면서 동시에 글도 쓰고 틀리면 틀린대로 다 적는일기형식으로 바꿨더니 글쓰기가 편해졌다.다른 사람들이 보기엔 좀 지저분하고 난잡해보일 수 있긴하지만뭐 어차피 내 블로그 많이 보러오는 것도 아니고못 할 말을 쓰는 것도 아니니깐..일기처럼 내..

https://www.acmicpc.net/problem/2295풀이 과정이분탐색을 연습하느라 해당 문제는 이분탐색으로 푸는 것을 알고선 시작..!문제를 읽어보면 집합안에 있는 숫자를 이용해서 집합 안에있는 또 다른 숫자를 만드는데그 중 제일 큰 값을 구하는 문제이다.그리고 중복도 된다. A+B+C=X가 되는 값을 구하면 되는데무작정 for문으로 돌면 답은 나오지만 문제 조건이 N이 1000개까지 나올 수 있어서연산량은 1000^3 = 1000,000,000 정도가 나오기 때문에 시간제한에 걸린다.그래서 다른 방법을 사용해야하는데A+B = X - C를 이용하는 방법이다. 일단 2중 for문을 돌면서 A+B로 나올 수 있는 모든 수를 Set에 저장한 후또 2중for문을 돌아서 X-C를 구한 다음 Set에 ..

https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이 과정사실 문제를 딱 봤을때 이 문제는 바로 bfs로 풀면 된다는 것을 알아서 블로그에 글을 안올릴려고 했다.그런데 막상 풀어보니 나에겐 좀 많이 까다로웠던 문제..일반적인 bfs문제만 풀다가 변형이 필요한 bfs가 나오니깐 잘 못하겠다...그만큼 문제를 많이 안 풀어봤다는 뜻이지만.. 앞으로 더 열심히 해야지 어쨌든 풀이 과정을 보면해당 문제는 가중치가 모두 같은 최단 거리 구하는 문제이다.최단 거리를 구하는 문제는 dfs보다 bfs가 훨..

https://www.acmicpc.net/problem/17232풀이 과정이 문제는 엄청 복잡하긴하지만 푸는 방법 자체는 간단하다.1. 시간이 1씩 지날때마다 생명배열을 누적합한 값을 기록하고 다시 배열을 쭉 보면서 해당 칸의 주변을 봤을때(2차원 배열의 누적합에서 구간에 따른 합을 구하는 방법을 사용해서 한번의 연산으로 구할 수 있다.) 다음 상태를 생존, 고독, 과밀, 탄생 4개중 어떤 상태가 될지 판단하여 변화를 주면 된다. 누적합을 매 시간마다 갱신한다는게 비효율적으로 보여서이 방법이 맞나 싶은 생각이 들긴했는데 딱히 떠오르는 다른 방법이 없어서그냥 그대로 구현을 했는데 통과한 문제. 구현에 중점이 되는 문제라서 좀 까다롭긴했다. 입력값을 받을때부터 처음엔 char 형태 그대로 저장을 할려고 했..

https://www.acmicpc.net/problem/19951풀이 과정이 문제는 1년전에 풀었었는데 지금 다시 보니 생각이 안나서 풀어보기로 했다.문제를 보면 흙파기를 명령이 들어왔을 때 바로바로 하는게 아니라 한번에 모아뒀다가 파겠다는건데명령마다 구간이 다르기때문에어디는 3만큼 파야될수도 있도 어디는 5만큼 파야될 수도 있고, 덮기도 해야해서 각 칸마다 변화량이 다르다는 것이 문제이다. 그래서 명령이 들어오는 그대로 모든칸에 변화를 줘버리면 결국 계속 파내고 덮고 하는거나 마찬가지인셈이라서한번에 끝내야한다는 생각은 문제를 읽자마자 바로 든다. 이걸 어떻게 n만큼 기록을 안하고 최대한 o(1)로 해결할까?변화한 값을 매 칸마다 기록하는게 아니라 시작과 끝만 적용되도록 기록하면 된다. 예시를 보면첫번..