이분 탐색 문제를 접근할 때, 백준 블로그를 참고하면 정말 도움이 된다.블로그 내용을 요약하면,"결정 문제"를 풀어낼 때 이분적으로 답이 두 구간으로 나뉠 때 이분 탐색 알고리즘을 이용할 수 있다는 것이다. 또한, 많은 최적화 문제를 풀어낼 수 있음.최적화 문제란?어떤
내가 작성한 코드, 팀원이 작성한 코드 등을 신뢰할 수 있도록 보조해주는 장치가 무엇일까? 대표적으로 테스트가 존재합니다. 졸업 프로젝트, 사이드 프로젝트 등을 수행하면서 테스트 코드를 많이 작성하는가? 에 대해 네 라고 대답하기에는 어렵습니다. 빠듯한 일정, 경험 부
사이드 프로젝트에서 요구사항 간단하게 사이드 프로젝트를 소개하자면, 수제 케이크샵들을 사용자 위치 기반으로 제공해주고 있는 것이 메인 기능이다. 케이크 샵 사장님들은 자신의 케이크 샵에 대해 사장님 인증을 할 수 있는 기능을 제공하고 있다. 애플리케이션 다운로드 또는
작년에 책을 통해 읽은 내용인데, 시간 지나가면 까먹고 책을 다시 펼쳐볼 때가 많아서 블로그 글도 작성할 겸 & 핵심 내용 정리 할 겸을 목표로 작성한다. "아는 만큼 보인다"라는 말이 지식을 쌓을수록 얻는 재미 중 하나인 것 같다. 쿼리 실행 계획 절차 MySQL
상황 위치 기반의 서비스를 제공하는 애플리케이션에서 위도와 경도를 기반으로 주변 케이크 샵을 제공해야하는 서비스를 구현해야 하는 상황이었습니다. 제가 생각한 방법은 2가지가 있습니다. 첫 번째, 조건에 맞는 케이크 샵들을 모두 영속성 컨텍스트로 불러와서 위도와 경도
https://www.acmicpc.net/problem/5430선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다.함수 R은 배열에
문제 설명 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복도로 빠져나온 학생들은 선생님의 감시에 들키지 않는 것이 목표
크기가 N인 배열 A가 있다. 배열에 있는 모든 수는 서로 다르다. 이 배열을 소트할 때, 연속된 두 개의 원소만 교환할 수 있다. 그리고, 교환은 많아봐야 S번 할 수 있다. 이때, 소트한 결과가 사전순으로 가장 뒷서는 것을 출력한다.사전순이라는 의미는 배열의 원소를
InnoDB Storage에 대해서 이해를 하고 → 동시성 처리를 위해 인덱스 잠금 방식에 대해서 이해하고 있는 것이 기본일 필요가 있다.기계식 하드 디스크 드라이브를 대체하기 위해 전자식 저장 매체인 SSD가 많이 출시기존 하드 디스크 드라이브에서 데이터 저장용 플래
트랜잭션은 작업의 완전성을 보장해 주는 것이다. 즉 논리적인 작업 셋을 모두 완벽하게 처리하거나, 처리하지 못할 경우에는 원 상태로 복구해서 작업의 일부만 적용되는(Partial Update)이 발생하지 않게 만들어주는 기능Lock과 트랜잭션은 서로 비슷한 개념 같지만
지민이는 각 칸마다 (1×1크기의 정사각형) 램프가 들어있는 직사각형 모양의 탁자를 샀다. 모든 램프는 켜져있거나 꺼져있다. 각 열의 아래에는 스위치가 하나씩 달려있는데, 이 스위치를 누를 때마다 그 열에 있는 램프의 상태가 바뀐다. 켜져있는 램프는 꺼지고, 꺼져있는
문제 링크: https://www.acmicpc.net/problem/1932점화식을 찾는건 어렵지 않은데문제 조건이 1 <= N <= 500 이기 때문에N = 1일때, 답을 출력하는 것을 주의해야 한다.
트리의 지름이란, 트리에서 임의의 두 점 사이의 거리 중 가장 긴 것을 말한다. 트리의 지름을 구하는 프로그램을 작성하시오.트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐
N개의 스위치와 N개의 전구가 있다. 각각의 전구는 켜져 있는 상태와 꺼져 있는 상태 중 하나의 상태를 가진다. i(1 < i < N)번 스위치를 누르면 i-1, i, i+1의 세 개의 전구의 상태가 바뀐다. 즉, 꺼져 있는 전구는 켜지고, 켜져 있는 전구는
무게가 중간인 구슬을 정확하게 찾을 수는 없지만, 1번 구슬과 4번 구슬은 무게가 중간인 구슬이 절대 될 수 없다는 것은 확실히 알 수 있다.문제의 요구 사항은 중간인 구슬이 절대 될 수 없는 구슬의 개수를 구하는 것이다.이 말은 즉, 각 구슬이 무거운 것 또는 가벼운
Lovebird 애플리케이션의 다이어리 타임라인 화면에서 조회 시 페이지네이션을 할 필요성을 느꼈다. 작성 날짜(memory_date)를 기준으로 이전 또는 이후의 데이터를 pageSize만큼 조회한다는 요구사항에 따라 커서 페이지네이션을 활용하여 빠르게 개발하였
문제 링크2021 카카오 채용연계형 인턴십 문제 중 LV.3 표 편집 문제를 풀며 해결한 방법을 풀이하겠습니다.해당 문제를 고민하다가 풀지 못해서 힌트를 참고해서 제 것으로 만들기 위해 노력했습니다.해결하지 못한 근본적인 이유는1\. n의 범위 : 5 ≤ n ≤ 1,0
실무 경험은 없지만 프로젝트 경험들을 통해 Test를 작성하지 않은 경험, Dependency를 제거하여 Mockito를 활용한 Test 방식, Repository Layer 즉 Database를 접근하는 단계까지 포함한 Test들을 경험해봤습니다.테스트 코드에 대해
백엔드 개발자로서 1 + N 문제, 쿼리 튜닝, 인덱스, 캐싱 등등 서비스의 품질을 개선하기 위해 노력할 수 있는 고려할 수 있는 상황들이 있습니다. 조금은 무모했던, 더 나은 방법들을 고민할 수 있었던 저의 개발 경험을 소개할까 합니다.nGrinder 소개에 의하면
SSR, 테스트 서버, 운영 서버를 운영하면서 CORS를 피할 수 없었습니다. 경험이 부족했을 때 학자형 스타일로 문제를 직면하기보다 전투형으로 개발하면서 무지했던 상황들을 기록하고자 합니다.누구나 웹 개발을 하며 개발자 도구를 열어볼텐데 시뻘건 줄을 마구마구 마주합니